Built with Alectryon, running Coq+SerAPI v8.10.0+0.7.0. Coq sources are in this panel; goals and messages will appear in the other. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus.
This file is part of the Flocq formalization of floating-point arithmetic in Coq: http://flocq.gforge.inria.fr/
Copyright (C) 2013-2018 Sylvie Boldo
Copyright (C) 2013-2018 Guillaume Melquiond
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the COPYING file for more details.

Rounding to odd and its properties, including the equivalence

between rnd_NE and double rounding with rnd_odd and then rnd_NE
Require Import Reals Psatz.
Require Import Core Operations.

Definition Zrnd_odd x :=  match Req_EM_T x (IZR (Zfloor x))  with
  | left _   => Zfloor x
  | right _  => match (Z.even (Zfloor x)) with
      | true => Zceil x
      | false => Zfloor x
     end
  end.




Valid_rnd Zrnd_odd

Valid_rnd Zrnd_odd

forall x y : R, (x <= y)%R -> (Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
(* . *)
x, y:R
Hxy:(x <= y)%R

(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R

(Zfloor x <= Zrnd_odd y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
(* .. *)
x, y:R
Hxy:(x <= y)%R

(Zfloor x <= Zfloor y)%Z
x, y:R
Hxy:(x <= y)%R
(Zfloor y <= Zrnd_odd y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R

(Zfloor y <= Zrnd_odd y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
e:y = IZR (Zfloor y)

(Zfloor y <= Zfloor y)%Z
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)
(Zfloor y <= (if Z.even (Zfloor y) then Zceil y else Zfloor y))%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)

(Zfloor y <= (if Z.even (Zfloor y) then Zceil y else Zfloor y))%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)

(Zfloor y <= Zceil y)%Z
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)
(Zfloor y <= Zfloor y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)

(IZR (Zfloor y) <= IZR (Zceil y))%R
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)
(Zfloor y <= Zfloor y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)

(IZR (Zfloor y) <= y)%R
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)
(y <= IZR (Zceil y))%R
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)
(Zfloor y <= Zfloor y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)

(y <= IZR (Zceil y))%R
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)
(Zfloor y <= Zfloor y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
n:y <> IZR (Zfloor y)

(Zfloor y <= Zfloor y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z

(Zrnd_odd x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z

((if Req_EM_T x (IZR (Zfloor x)) then Zfloor x else if Z.even (Zfloor x) then Zceil x else Zfloor x) <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
(* . *)
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x = IZR (Zfloor x)

(Zfloor x <= Zrnd_odd y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
((if Z.even (Zfloor x) then Zceil x else Zfloor x) <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
(* .. *)
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)

((if Z.even (Zfloor x) then Zceil x else Zfloor x) <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
(* .. *)
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true

(Zceil x <= Zrnd_odd y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = false
(Zfloor x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true

(Zceil x <= Zrnd_odd y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y = IZR (Zfloor y)

(Zceil x <= Zfloor y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
(Zceil x <= (if Z.even (Zfloor y) then Zceil y else Zfloor y))%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y = IZR (Zfloor y)

(x <= IZR (Zfloor y))%R
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
(Zceil x <= (if Z.even (Zfloor y) then Zceil y else Zfloor y))%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)

(Zceil x <= (if Z.even (Zfloor y) then Zceil y else Zfloor y))%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = true

(Zceil x <= Zceil y)%Z
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
(Zceil x <= Zfloor y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false

(Zceil x <= Zfloor y)%Z

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false

(x <= IZR (Zfloor y))%R

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
H0:(Zfloor x <= Zfloor y)%Z

(x <= IZR (Zfloor y))%R

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
H0:(Zfloor x <= Zfloor y)%Z
H1:(Zfloor x < Zfloor y)%Z

(x <= IZR (Zfloor y))%R
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
H0:(Zfloor x <= Zfloor y)%Z
H1:Zfloor x = Zfloor y
(x <= IZR (Zfloor y))%R

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
H0:(Zfloor x <= Zfloor y)%Z
H1:(Zfloor x < Zfloor y)%Z

(IZR (Zceil x) <= IZR (Zfloor y))%R
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
H0:(Zfloor x <= Zfloor y)%Z
H1:Zfloor x = Zfloor y
(x <= IZR (Zfloor y))%R

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
H0:(Zfloor x <= Zfloor y)%Z
H1:(Zfloor x < Zfloor y)%Z

(IZR (Zfloor x + 1) <= IZR (Zfloor y))%R
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
H0:(Zfloor x <= Zfloor y)%Z
H1:(Zfloor x < Zfloor y)%Z
IZR (Zfloor x) <> x
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
H0:(Zfloor x <= Zfloor y)%Z
H1:Zfloor x = Zfloor y
(x <= IZR (Zfloor y))%R

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
H0:(Zfloor x <= Zfloor y)%Z
H1:(Zfloor x < Zfloor y)%Z

IZR (Zfloor x) <> x
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
H0:(Zfloor x <= Zfloor y)%Z
H1:Zfloor x = Zfloor y
(x <= IZR (Zfloor y))%R

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
Hy2:Z.even (Zfloor y) = false
H0:(Zfloor x <= Zfloor y)%Z
H1:Zfloor x = Zfloor y

(x <= IZR (Zfloor y))%R

forall n : Z, Zrnd_odd (IZR n) = n
x, y:R
Hxy:(x <= y)%R
H:(Zfloor x <= Zrnd_odd y)%Z
Hx:x <> IZR (Zfloor x)
Hx2:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
H0:(Zfloor x <= Zfloor y)%Z
H1:Zfloor x = Zfloor y

Z.even (Zfloor y) <> false

forall n : Z, Zrnd_odd (IZR n) = n

forall n : Z, Zrnd_odd (IZR n) = n
(* . *)
n:Z

(if Req_EM_T (IZR n) (IZR (Zfloor (IZR n))) then Zfloor (IZR n) else if Z.even (Zfloor (IZR n)) then Zceil (IZR n) else Zfloor (IZR n)) = n
n:Z

(if Req_EM_T (IZR n) (IZR n) then n else if Z.even n then n else n) = n
n:Z
n0:IZR n <> IZR n

(if Z.even n then n else n) = n
case (Z.even n); trivial. Qed.

forall x : R, x <> IZR (Zfloor x) -> Z.even (Zrnd_odd x) = false

forall x : R, x <> IZR (Zfloor x) -> Z.even (Zrnd_odd x) = false
x:R
Hx:x <> IZR (Zfloor x)

Z.even (if Req_EM_T x (IZR (Zfloor x)) then Zfloor x else if Z.even (Zfloor x) then Zceil x else Zfloor x) = false
x:R
Hx:x <> IZR (Zfloor x)
H:x = IZR (Zfloor x)

Z.even (Zfloor x) = false
x:R
Hx, H:x <> IZR (Zfloor x)
Z.even (if Z.even (Zfloor x) then Zceil x else Zfloor x) = false
x:R
Hx, H:x <> IZR (Zfloor x)

Z.even (if Z.even (Zfloor x) then Zceil x else Zfloor x) = false
x:R
Hx, H:x <> IZR (Zfloor x)

Z.even (Zfloor x) = true -> Z.even (Zceil x) = false
x:R
Hx, H:x <> IZR (Zfloor x)
Z.even (Zfloor x) = false -> Z.even (Zfloor x) = false
(* difficult case *)
x:R
Hx, H:x <> IZR (Zfloor x)
H':Z.even (Zfloor x) = true

Z.even (Zceil x) = false
x:R
Hx, H:x <> IZR (Zfloor x)
Z.even (Zfloor x) = false -> Z.even (Zfloor x) = false
x:R
Hx, H:x <> IZR (Zfloor x)
H':Z.even (Zfloor x) = true

Z.even (Zfloor x + 1) = false
x:R
Hx, H:x <> IZR (Zfloor x)
H':Z.even (Zfloor x) = true
IZR (Zfloor x) <> x
x:R
Hx, H:x <> IZR (Zfloor x)
Z.even (Zfloor x) = false -> Z.even (Zfloor x) = false
x:R
Hx, H:x <> IZR (Zfloor x)
H':Z.even (Zfloor x) = true

Bool.eqb true (Z.even 1) = false
x:R
Hx, H:x <> IZR (Zfloor x)
H':Z.even (Zfloor x) = true
IZR (Zfloor x) <> x
x:R
Hx, H:x <> IZR (Zfloor x)
Z.even (Zfloor x) = false -> Z.even (Zfloor x) = false
x:R
Hx, H:x <> IZR (Zfloor x)
H':Z.even (Zfloor x) = true

IZR (Zfloor x) <> x
x:R
Hx, H:x <> IZR (Zfloor x)
Z.even (Zfloor x) = false -> Z.even (Zfloor x) = false
x:R
Hx, H:x <> IZR (Zfloor x)

Z.even (Zfloor x) = false -> Z.even (Zfloor x) = false
trivial. Qed.

forall (n : Z) (y : R), Zfloor (IZR n + y) = (n + Zfloor y)%Z

forall (n : Z) (y : R), Zfloor (IZR n + y) = (n + Zfloor y)%Z
n:Z
y:R

(up (IZR n + y) - 1)%Z = (n + (up y - 1))%Z
n:Z
y:R

up (IZR n + y) = (n + up y)%Z
n:Z
y:R

(IZR n + y < IZR (n + up y))%R
n:Z
y:R
(IZR (n + up y) <= IZR n + y + 1)%R
n:Z
y:R

(IZR n + y < IZR n + IZR (up y))%R
n:Z
y:R
(IZR (n + up y) <= IZR n + y + 1)%R
n:Z
y:R

(y < IZR (up y))%R
n:Z
y:R
(IZR (n + up y) <= IZR n + y + 1)%R
n:Z
y:R

(IZR (n + up y) <= IZR n + y + 1)%R
n:Z
y:R

(IZR n + IZR (up y) <= IZR n + (y + 1))%R
n:Z
y:R

(IZR (up y) <= y + 1)%R
n:Z
y:R

(IZR (up y) + - y <= y + 1 + - y)%R
n:Z
y:R

(IZR (up y) + - y <= 1)%R
apply archimed. Qed.

forall (n : Z) (y : R), Zceil (IZR n + y) = (n + Zceil y)%Z

forall (n : Z) (y : R), Zceil (IZR n + y) = (n + Zceil y)%Z
n:Z
y:R

(- Zfloor (- (IZR n + y)))%Z = (n + - Zfloor (- y))%Z
n:Z
y:R

(- Zfloor (IZR (- n) + - y))%Z = (n + - Zfloor (- y))%Z
n:Z
y:R

(- (- n + Zfloor (- y)))%Z = (n + - Zfloor (- y))%Z
ring. Qed.

forall z : Z, Z.even (Z.abs z) = Z.even z

forall z : Z, Z.even (Z.abs z) = Z.even z
z:Z
H1:(z <= 0)%Z

Z.even (Z.abs z) = Z.even z
z:Z
H1:(0 < z)%Z
Z.even (Z.abs z) = Z.even z
z:Z
H1:(z <= 0)%Z

Z.even (- z) = Z.even z
z:Z
H1:(0 < z)%Z
Z.even (Z.abs z) = Z.even z
z:Z
H1:(0 < z)%Z

Z.even (Z.abs z) = Z.even z
rewrite Z.abs_eq; auto with zarith. Qed.

forall x y : R, x = IZR (Zfloor x) -> Z.even (Zfloor x) = true -> IZR (Zrnd_odd (x + y)) = (x + IZR (Zrnd_odd y))%R

forall x y : R, x = IZR (Zfloor x) -> Z.even (Zfloor x) = true -> IZR (Zrnd_odd (x + y)) = (x + IZR (Zrnd_odd y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true

IZR (Zrnd_odd (x + y)) = (x + IZR (Zrnd_odd y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true

IZR (if Req_EM_T (IZR (Zfloor x) + y) (IZR (Zfloor x + Zfloor y)) then (Zfloor x + Zfloor y)%Z else if Z.even (Zfloor x + Zfloor y) then Zceil (IZR (Zfloor x) + y) else (Zfloor x + Zfloor y)%Z) = (IZR (Zfloor x) + IZR (if Req_EM_T y (IZR (Zfloor y)) then Zfloor y else if Z.even (Zfloor y) then Zceil y else Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y = IZR (Zfloor y)

IZR (if Req_EM_T (IZR (Zfloor x) + y) (IZR (Zfloor x + Zfloor y)) then (Zfloor x + Zfloor y)%Z else if Z.even (Zfloor x + Zfloor y) then Zceil (IZR (Zfloor x) + y) else (Zfloor x + Zfloor y)%Z) = (IZR (Zfloor x) + IZR (Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
IZR (if Req_EM_T (IZR (Zfloor x) + y) (IZR (Zfloor x + Zfloor y)) then (Zfloor x + Zfloor y)%Z else if Z.even (Zfloor x + Zfloor y) then Zceil (IZR (Zfloor x) + y) else (Zfloor x + Zfloor y)%Z) = (IZR (Zfloor x) + IZR (if Z.even (Zfloor y) then Zceil y else Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y = IZR (Zfloor y)

IZR (if Req_EM_T (IZR (Zfloor x + Zfloor y)) (IZR (Zfloor x + Zfloor (IZR (Zfloor y)))) then (Zfloor x + Zfloor (IZR (Zfloor y)))%Z else if Z.even (Zfloor x + Zfloor (IZR (Zfloor y))) then Zceil (IZR (Zfloor x + Zfloor y)) else (Zfloor x + Zfloor (IZR (Zfloor y)))%Z) = IZR (Zfloor x + Zfloor (IZR (Zfloor y)))
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
IZR (if Req_EM_T (IZR (Zfloor x) + y) (IZR (Zfloor x + Zfloor y)) then (Zfloor x + Zfloor y)%Z else if Z.even (Zfloor x + Zfloor y) then Zceil (IZR (Zfloor x) + y) else (Zfloor x + Zfloor y)%Z) = (IZR (Zfloor x) + IZR (if Z.even (Zfloor y) then Zceil y else Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y = IZR (Zfloor y)

IZR (if Req_EM_T (IZR (Zfloor x + Zfloor y)) (IZR (Zfloor x + Zfloor y)) then (Zfloor x + Zfloor y)%Z else if Z.even (Zfloor x + Zfloor y) then Zceil (IZR (Zfloor x + Zfloor y)) else (Zfloor x + Zfloor y)%Z) = IZR (Zfloor x + Zfloor y)
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
IZR (if Req_EM_T (IZR (Zfloor x) + y) (IZR (Zfloor x + Zfloor y)) then (Zfloor x + Zfloor y)%Z else if Z.even (Zfloor x + Zfloor y) then Zceil (IZR (Zfloor x) + y) else (Zfloor x + Zfloor y)%Z) = (IZR (Zfloor x) + IZR (if Z.even (Zfloor y) then Zceil y else Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)

IZR (if Req_EM_T (IZR (Zfloor x) + y) (IZR (Zfloor x + Zfloor y)) then (Zfloor x + Zfloor y)%Z else if Z.even (Zfloor x + Zfloor y) then Zceil (IZR (Zfloor x) + y) else (Zfloor x + Zfloor y)%Z) = (IZR (Zfloor x) + IZR (if Z.even (Zfloor y) then Zceil y else Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
K:(IZR (Zfloor x) + y)%R = IZR (Zfloor x + Zfloor y)

IZR (Zfloor x + Zfloor y) = (IZR (Zfloor x) + IZR (if Z.even (Zfloor y) then Zceil y else Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
K:(IZR (Zfloor x) + y)%R <> IZR (Zfloor x + Zfloor y)
IZR (if Z.even (Zfloor x + Zfloor y) then Zceil (IZR (Zfloor x) + y) else (Zfloor x + Zfloor y)%Z) = (IZR (Zfloor x) + IZR (if Z.even (Zfloor y) then Zceil y else Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
K:(IZR (Zfloor x) + y)%R = IZR (Zfloor x + Zfloor y)

y = IZR (Zfloor y)
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
K:(IZR (Zfloor x) + y)%R <> IZR (Zfloor x + Zfloor y)
IZR (if Z.even (Zfloor x + Zfloor y) then Zceil (IZR (Zfloor x) + y) else (Zfloor x + Zfloor y)%Z) = (IZR (Zfloor x) + IZR (if Z.even (Zfloor y) then Zceil y else Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
K:(IZR (Zfloor x) + y)%R = IZR (Zfloor x + Zfloor y)

(IZR (Zfloor x) + y)%R = (IZR (Zfloor x) + IZR (Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
K:(IZR (Zfloor x) + y)%R <> IZR (Zfloor x + Zfloor y)
IZR (if Z.even (Zfloor x + Zfloor y) then Zceil (IZR (Zfloor x) + y) else (Zfloor x + Zfloor y)%Z) = (IZR (Zfloor x) + IZR (if Z.even (Zfloor y) then Zceil y else Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
K:(IZR (Zfloor x) + y)%R <> IZR (Zfloor x + Zfloor y)

IZR (if Z.even (Zfloor x + Zfloor y) then Zceil (IZR (Zfloor x) + y) else (Zfloor x + Zfloor y)%Z) = (IZR (Zfloor x) + IZR (if Z.even (Zfloor y) then Zceil y else Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
K:(IZR (Zfloor x) + y)%R <> IZR (Zfloor x + Zfloor y)

IZR (if if Z.even (Zfloor y) then true else false then Zceil (IZR (Zfloor x) + y) else (Zfloor x + Zfloor y)%Z) = (IZR (Zfloor x) + IZR (if Z.even (Zfloor y) then Zceil y else Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
K:(IZR (Zfloor x) + y)%R <> IZR (Zfloor x + Zfloor y)

IZR (Zceil (IZR (Zfloor x) + y)) = (IZR (Zfloor x) + IZR (Zceil y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
K:(IZR (Zfloor x) + y)%R <> IZR (Zfloor x + Zfloor y)
IZR (Zfloor x + Zfloor y) = (IZR (Zfloor x) + IZR (Zfloor y))%R
x, y:R
Hx:x = IZR (Zfloor x)
H:Z.even (Zfloor x) = true
Hy:y <> IZR (Zfloor y)
K:(IZR (Zfloor x) + y)%R <> IZR (Zfloor x + Zfloor y)

IZR (Zfloor x + Zfloor y) = (IZR (Zfloor x) + IZR (Zfloor y))%R
now rewrite plus_IZR. Qed. Section Fcore_rnd_odd. Variable beta : radix. Notation bpow e := (bpow beta e). Variable fexp : Z -> Z. Context { valid_exp : Valid_exp fexp }. Context { exists_NE_ : Exists_NE beta fexp }. Notation format := (generic_format beta fexp). Notation canonical := (canonical beta fexp). Notation cexp := (cexp beta fexp). Definition Rnd_odd_pt (x f : R) := format f /\ ((f = x)%R \/ ((Rnd_DN_pt format x f \/ Rnd_UP_pt format x f) /\ exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = false)). Definition Rnd_odd (rnd : R -> R) := forall x : R, Rnd_odd_pt x (rnd x).
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

forall x f : R, Rnd_odd_pt (- x) (- f) -> Rnd_odd_pt x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

forall x f : R, Rnd_odd_pt (- x) (- f) -> Rnd_odd_pt x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:(- f)%R = (- x)%R \/ (Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)) /\ (exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)

Rnd_odd_pt x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:(- f)%R = (- x)%R \/ (Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)) /\ (exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)

format f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:(- f)%R = (- x)%R \/ (Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)) /\ (exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
f = x \/ (Rnd_DN_pt format x f \/ Rnd_UP_pt format x f) /\ (exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:(- f)%R = (- x)%R \/ (Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)) /\ (exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)

format (- - f)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:(- f)%R = (- x)%R \/ (Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)) /\ (exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
f = x \/ (Rnd_DN_pt format x f \/ Rnd_UP_pt format x f) /\ (exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:(- f)%R = (- x)%R \/ (Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)) /\ (exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)

f = x \/ (Rnd_DN_pt format x f \/ Rnd_UP_pt format x f) /\ (exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:(- f)%R = (- x)%R

f = x \/ (Rnd_DN_pt format x f \/ Rnd_UP_pt format x f) /\ (exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:(Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)) /\ (exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
f = x \/ (Rnd_DN_pt format x f \/ Rnd_UP_pt format x f) /\ (exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:(- f)%R = (- x)%R

f = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:(Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)) /\ (exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
f = x \/ (Rnd_DN_pt format x f \/ Rnd_UP_pt format x f) /\ (exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:(- f)%R = (- x)%R

(- - f)%R = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:(Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)) /\ (exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
f = x \/ (Rnd_DN_pt format x f \/ Rnd_UP_pt format x f) /\ (exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:(Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)) /\ (exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)

f = x \/ (Rnd_DN_pt format x f \/ Rnd_UP_pt format x f) /\ (exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:(Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)) /\ (exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)

(Rnd_DN_pt format x f \/ Rnd_UP_pt format x f) /\ (exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

(Rnd_DN_pt format x f \/ Rnd_UP_pt format x f) /\ (exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

Rnd_DN_pt format x f \/ Rnd_UP_pt format x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_DN_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

Rnd_DN_pt format x f \/ Rnd_UP_pt format x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
Rnd_DN_pt format x f \/ Rnd_UP_pt format x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_DN_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

Rnd_UP_pt format x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
Rnd_DN_pt format x f \/ Rnd_UP_pt format x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_DN_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

Rnd_UP_pt format x (- - f)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
Rnd_DN_pt format x f \/ Rnd_UP_pt format x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_DN_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

Rnd_UP_pt format (- - x) (- - f)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
Rnd_DN_pt format x f \/ Rnd_UP_pt format x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_DN_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

forall x0 : R, format x0 -> format (- x0)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
Rnd_DN_pt format x f \/ Rnd_UP_pt format x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

Rnd_DN_pt format x f \/ Rnd_UP_pt format x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

Rnd_DN_pt format x f
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

Rnd_DN_pt format x (- - f)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

Rnd_DN_pt format (- - x) (- - f)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H:Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

forall x0 : R, format x0 -> format (- x0)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

exists g0 : float beta, f = F2R g0 /\ canonical g0 /\ Z.even (Fnum g0) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

f = F2R {| Fnum := - Fnum g; Fexp := Fexp g |} /\ canonical {| Fnum := - Fnum g; Fexp := Fexp g |} /\ Z.even (Fnum {| Fnum := - Fnum g; Fexp := Fexp g |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

f = F2R {| Fnum := - Fnum g; Fexp := Fexp g |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
canonical {| Fnum := - Fnum g; Fexp := Fexp g |} /\ Z.even (Fnum {| Fnum := - Fnum g; Fexp := Fexp g |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

f = (- F2R {| Fnum := Fnum g; Fexp := Fexp g |})%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
canonical {| Fnum := - Fnum g; Fexp := Fexp g |} /\ Z.even (Fnum {| Fnum := - Fnum g; Fexp := Fexp g |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

(- - f)%R = (- F2R {| Fnum := Fnum g; Fexp := Fexp g |})%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
canonical {| Fnum := - Fnum g; Fexp := Fexp g |} /\ Z.even (Fnum {| Fnum := - Fnum g; Fexp := Fexp g |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

canonical {| Fnum := - Fnum g; Fexp := Fexp g |} /\ Z.even (Fnum {| Fnum := - Fnum g; Fexp := Fexp g |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

canonical {| Fnum := - Fnum g; Fexp := Fexp g |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false
Z.even (Fnum {| Fnum := - Fnum g; Fexp := Fexp g |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

Z.even (Fnum {| Fnum := - Fnum g; Fexp := Fexp g |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f:R
H1:format (- f)
H2:Rnd_DN_pt format (- x) (- f) \/ Rnd_UP_pt format (- x) (- f)
g:float beta
Hg1:(- f)%R = F2R g
Hg2:canonical g
Hg3:Z.even (Fnum g) = false

Z.even (- Fnum g) = false
now rewrite Z.even_opp. Qed.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

forall x : R, round beta fexp Zrnd_odd (- x) = (- round beta fexp Zrnd_odd x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

forall x : R, round beta fexp Zrnd_odd (- x) = (- round beta fexp Zrnd_odd x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R

F2R {| Fnum := Zrnd_odd (scaled_mantissa beta fexp (- x)); Fexp := cexp (- x) |} = (- F2R {| Fnum := Zrnd_odd (scaled_mantissa beta fexp x); Fexp := cexp x |})%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R

F2R {| Fnum := Zrnd_odd (scaled_mantissa beta fexp (- x)); Fexp := cexp (- x) |} = F2R {| Fnum := - Zrnd_odd (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R

(IZR (Zrnd_odd (scaled_mantissa beta fexp (- x))) * bpow (cexp (- x)))%R = (IZR (- Zrnd_odd (scaled_mantissa beta fexp x)) * bpow (cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R

Zrnd_odd (scaled_mantissa beta fexp (- x)) = (- Zrnd_odd (scaled_mantissa beta fexp x))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R

Zrnd_odd (- scaled_mantissa beta fexp x) = (- Zrnd_odd (scaled_mantissa beta fexp x))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R

Zrnd_odd (- r) = (- Zrnd_odd r)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R

(if Req_EM_T (- r) (IZR (Zfloor (- r))) then Zfloor (- r) else if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R

(- r)%R = IZR (Zfloor (- r)) -> Zfloor (- r) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R

r = IZR (Zfloor r) -> (- r)%R = IZR (Zfloor (- r)) -> Zfloor (- r) = (- Zfloor r)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
r <> IZR (Zfloor r) -> (- r)%R = IZR (Zfloor (- r)) -> Zfloor (- r) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r = IZR (Zfloor r)
Y2:(- r)%R = IZR (Zfloor (- r))

Zfloor (- r) = (- Zfloor r)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
r <> IZR (Zfloor r) -> (- r)%R = IZR (Zfloor (- r)) -> Zfloor (- r) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r = IZR (Zfloor r)
Y2:(- r)%R = IZR (Zfloor (- r))

IZR (Zfloor (- r)) = IZR (- Zfloor r)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
r <> IZR (Zfloor r) -> (- r)%R = IZR (Zfloor (- r)) -> Zfloor (- r) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R

r <> IZR (Zfloor r) -> (- r)%R = IZR (Zfloor (- r)) -> Zfloor (- r) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R = IZR (Zfloor (- r))

Zfloor (- r) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R = IZR (Zfloor (- r))

r = IZR (Zfloor r)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R = IZR (Zfloor (- r))

r = IZR (Zfloor (- - r))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R = IZR (Zfloor (- r))

r = IZR (Zfloor (IZR (- Zfloor (- r))))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R = IZR (Zfloor (- r))

r = IZR (- Zfloor (- r))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R = IZR (Zfloor (- r))

r = (- - r)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R

(- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Req_EM_T r (IZR (Zfloor r)) then Zfloor r else if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R

r = IZR (Zfloor r) -> (- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- Zfloor r)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
r <> IZR (Zfloor r) -> (- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r = IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

(if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- Zfloor r)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
r <> IZR (Zfloor r) -> (- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r = IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

(- r)%R = IZR (Zfloor (- r))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
r <> IZR (Zfloor r) -> (- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r = IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

(- r)%R = IZR (Zfloor (- IZR (Zfloor r)))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
r <> IZR (Zfloor r) -> (- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r = IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

(- r)%R = IZR (- Zfloor r)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
r <> IZR (Zfloor r) -> (- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R

r <> IZR (Zfloor r) -> (- r)%R <> IZR (Zfloor (- r)) -> (if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

(if Z.even (Zfloor (- r)) then Zceil (- r) else Zfloor (- r)) = (- (if Z.even (Zfloor r) then Zceil r else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

(if Z.even (Zfloor (- r)) then (- Zfloor r)%Z else Zfloor (- r)) = (- (if Z.even (Zfloor r) then - Zfloor (- r) else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

(if negb (Z.even (Zfloor r)) then (- Zfloor r)%Z else Zfloor (- r)) = (- (if Z.even (Zfloor r) then - Zfloor (- r) else Zfloor r))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))
negb (Z.even (Zfloor r)) = Z.even (Zfloor (- r))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

negb (Z.even (Zfloor r)) = Z.even (Zfloor (- r))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

negb (Z.even (Zfloor r)) = Z.even (Zceil r)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))
Z.even (Zceil r) = Z.even (Zfloor (- r))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

negb (Z.even (Zfloor r)) = Z.even (Zfloor r + 1)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))
IZR (Zfloor r) <> r
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))
Z.even (Zceil r) = Z.even (Zfloor (- r))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

negb (Z.even (Zfloor r)) = Bool.eqb (Z.even (Zfloor r)) (Z.even 1)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))
IZR (Zfloor r) <> r
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))
Z.even (Zceil r) = Z.even (Zfloor (- r))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

IZR (Zfloor r) <> r
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))
Z.even (Zceil r) = Z.even (Zfloor (- r))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

Z.even (Zceil r) = Z.even (Zfloor (- r))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, r:R
Y1:r <> IZR (Zfloor r)
Y2:(- r)%R <> IZR (Zfloor (- r))

Z.even (Zceil r) = Z.even (- Zfloor (- r))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
cexp (- x) = cexp x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R

cexp (- x) = cexp x
apply cexp_opp. Qed.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

forall x : R, Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

forall x : R, Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

(forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)) -> forall x : R, Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R

(0 <= x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
(x < 0)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
H0:(0 < x)%R

Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
H0:0%R = x
Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
(x < 0)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
H0:0%R = x

Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
(x < 0)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
H0:0%R = x

Rnd_odd_pt 0 (round beta fexp Zrnd_odd 0)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
(x < 0)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
H0:0%R = x

Rnd_odd_pt 0 0
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
(x < 0)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
H0:0%R = x

format 0
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
H0:0%R = x
0%R = 0%R \/ (Rnd_DN_pt format 0 0 \/ Rnd_UP_pt format 0 0) /\ (exists g : float beta, 0%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
(x < 0)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
H0:0%R = x

0%R = 0%R \/ (Rnd_DN_pt format 0 0 \/ Rnd_UP_pt format 0 0) /\ (exists g : float beta, 0%R = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
(x < 0)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R

(x < 0)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
Hx:(x < 0)%R

Rnd_odd_pt (- x) (- round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
Hx:(x < 0)%R

Rnd_odd_pt (- x) (round beta fexp Zrnd_odd (- x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
H:forall x0 : R, (0 < x0)%R -> Rnd_odd_pt x0 (round beta fexp Zrnd_odd x0)
x:R
Hx:(x < 0)%R

(0 < - x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

forall x : R, (0 < x)%R -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
(* *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R

Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R

format (round beta fexp Zrnd_odd x) -> Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R

format o -> Rnd_odd_pt x o
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o

Rnd_odd_pt x o
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o

format o
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
o = x \/ (Rnd_DN_pt format x o \/ Rnd_UP_pt format x o) /\ (exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o

o = x \/ (Rnd_DN_pt format x o \/ Rnd_UP_pt format x o) /\ (exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
(* *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o = x

o = x \/ (Rnd_DN_pt format x o \/ Rnd_UP_pt format x o) /\ (exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
o = x \/ (Rnd_DN_pt format x o \/ Rnd_UP_pt format x o) /\ (exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x

o = x \/ (Rnd_DN_pt format x o \/ Rnd_UP_pt format x o) /\ (exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x

(Rnd_DN_pt format x o \/ Rnd_UP_pt format x o) /\ (exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x

o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
(Rnd_DN_pt format x o \/ Rnd_UP_pt format x o) /\ (exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x

(IZR (Zrnd_odd (scaled_mantissa beta fexp x)) * bpow (cexp x))%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp x))%R \/ (IZR (Zrnd_odd (scaled_mantissa beta fexp x)) * bpow (cexp x))%R = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
(Rnd_DN_pt format x o \/ Rnd_UP_pt format x o) /\ (exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x

Zrnd_odd (scaled_mantissa beta fexp x) = Zfloor (scaled_mantissa beta fexp x) -> (IZR (Zrnd_odd (scaled_mantissa beta fexp x)) * bpow (cexp x))%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp x))%R \/ (IZR (Zrnd_odd (scaled_mantissa beta fexp x)) * bpow (cexp x))%R = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
Zrnd_odd (scaled_mantissa beta fexp x) = Zceil (scaled_mantissa beta fexp x) -> (IZR (Zrnd_odd (scaled_mantissa beta fexp x)) * bpow (cexp x))%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp x))%R \/ (IZR (Zrnd_odd (scaled_mantissa beta fexp x)) * bpow (cexp x))%R = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
(Rnd_DN_pt format x o \/ Rnd_UP_pt format x o) /\ (exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x

Zrnd_odd (scaled_mantissa beta fexp x) = Zceil (scaled_mantissa beta fexp x) -> (IZR (Zrnd_odd (scaled_mantissa beta fexp x)) * bpow (cexp x))%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp x))%R \/ (IZR (Zrnd_odd (scaled_mantissa beta fexp x)) * bpow (cexp x))%R = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
(Rnd_DN_pt format x o \/ Rnd_UP_pt format x o) /\ (exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x

(Rnd_DN_pt format x o \/ Rnd_UP_pt format x o) /\ (exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x

Rnd_DN_pt format x o \/ Rnd_UP_pt format x o
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x

Rnd_DN_pt format x (round beta fexp Zfloor x) \/ Rnd_UP_pt format x (round beta fexp Zfloor x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zceil x
Rnd_DN_pt format x (round beta fexp Zceil x) \/ Rnd_UP_pt format x (round beta fexp Zceil x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zceil x

Rnd_DN_pt format x (round beta fexp Zceil x) \/ Rnd_UP_pt format x (round beta fexp Zceil x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x

exists g : float beta, o = F2R g /\ canonical g /\ Z.even (Fnum g) = false
(* *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x

exists g : float beta, F2R {| Fnum := if Req_EM_T (scaled_mantissa beta fexp x) (IZR (Zfloor (scaled_mantissa beta fexp x))) then Zfloor (scaled_mantissa beta fexp x) else if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x

scaled_mantissa beta fexp x = IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
T:scaled_mantissa beta fexp x = IZR (Zfloor (scaled_mantissa beta fexp x))

exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
T:scaled_mantissa beta fexp x = IZR (Zfloor (scaled_mantissa beta fexp x))

o = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
T:scaled_mantissa beta fexp x = IZR (Zfloor (scaled_mantissa beta fexp x))

format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
T:scaled_mantissa beta fexp x = IZR (Zfloor (scaled_mantissa beta fexp x))

x = (IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
T:scaled_mantissa beta fexp x = IZR (Zfloor (scaled_mantissa beta fexp x))

(scaled_mantissa beta fexp x * bpow (cexp x))%R = (IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
T:scaled_mantissa beta fexp x = IZR (Zfloor (scaled_mantissa beta fexp x))

IZR (Zfloor (scaled_mantissa beta fexp x)) = IZR (Ztrunc (scaled_mantissa beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
T:scaled_mantissa beta fexp x = IZR (Zfloor (scaled_mantissa beta fexp x))

(0 <= scaled_mantissa beta fexp x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
T:scaled_mantissa beta fexp x = IZR (Zfloor (scaled_mantissa beta fexp x))

(0 <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
T:scaled_mantissa beta fexp x = IZR (Zfloor (scaled_mantissa beta fexp x))
(0 <= bpow (- cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
T:scaled_mantissa beta fexp x = IZR (Zfloor (scaled_mantissa beta fexp x))

(0 <= bpow (- cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x

scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x)) -> exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))

exists g : float beta, F2R {| Fnum := if Z.even (Zfloor (scaled_mantissa beta fexp x)) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))

Z.even (Zfloor (scaled_mantissa beta fexp x)) = true -> exists g : float beta, F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
(* . *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))

format (round beta fexp Zceil x) -> Z.even (Zfloor (scaled_mantissa beta fexp x)) = true -> exists g : float beta, F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))

round beta fexp Zceil x = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x)); Fexp := cexp (round beta fexp Zceil x) |} -> Z.even (Zfloor (scaled_mantissa beta fexp x)) = true -> exists g : float beta, F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R

f = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp f); Fexp := cexp f |} -> Z.even (Zfloor (scaled_mantissa beta fexp x)) = true -> exists g : float beta, F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z

f = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp f); Fexp := ef |} -> Z.even (Zfloor (scaled_mantissa beta fexp x)) = true -> exists g : float beta, F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z

f = F2R {| Fnum := mf; Fexp := ef |} -> Z.even (Zfloor (scaled_mantissa beta fexp x)) = true -> exists g : float beta, F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R {| Fnum := mf; Fexp := ef |} /\ canonical {| Fnum := mf; Fexp := ef |} /\ Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R {| Fnum := mf; Fexp := ef |} /\ Fexp {| Fnum := mf; Fexp := ef |} = cexp (F2R {| Fnum := mf; Fexp := ef |}) /\ Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp x |} = f /\ Fexp {| Fnum := mf; Fexp := ef |} = cexp f /\ Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Zfloor (scaled_mantissa beta fexp x)))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
negb (Z.even (Zfloor (scaled_mantissa beta fexp x))) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Zfloor (scaled_mantissa beta fexp x)))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |})) = negb (Z.even (Zfloor (scaled_mantissa beta fexp x)))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

(0 <= round beta fexp Zfloor x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
(0 < round beta fexp Zfloor x)%R -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

(round beta fexp Zfloor 0 <= round beta fexp Zfloor x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
(0 < round beta fexp Zfloor x)%R -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

(0 <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
(0 < round beta fexp Zfloor x)%R -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

(0 < round beta fexp Zfloor x)%R -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

DN_UP_parity_prop beta fexp -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

(forall (x0 : R) (xd xu : float beta), ~ format x0 -> canonical xd -> canonical xu -> F2R xd = round beta fexp Zfloor x0 -> F2R xu = round beta fexp Zceil x0 -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))) -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

~ format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

x <> F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

(scaled_mantissa beta fexp x * bpow (cexp x))%R <> F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

(scaled_mantissa beta fexp x * bpow (cexp x))%R <> (IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

bpow (cexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
scaled_mantissa beta fexp x <> IZR (Ztrunc (scaled_mantissa beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

scaled_mantissa beta fexp x <> IZR (Ztrunc (scaled_mantissa beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
(0 <= scaled_mantissa beta fexp x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

(0 <= scaled_mantissa beta fexp x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

(0 <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
(0 <= bpow (- cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

(0 <= bpow (- cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

canonical {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

Fexp {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = cexp (F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

cexp x = cexp (F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

Fexp {| Fnum := mf; Fexp := ef |} = cexp (F2R {| Fnum := mf; Fexp := ef |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Ztrunc (round beta fexp Zceil x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R
round beta fexp Ztrunc (round beta fexp Zceil x) = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:(0 < round beta fexp Zfloor x)%R

round beta fexp Ztrunc (round beta fexp Zceil x) = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true

0%R = round beta fexp Zfloor x -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

DN_UP_parity_prop beta fexp -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

(forall (x0 : R) (xd xu : float beta), ~ format x0 -> canonical xd -> canonical xu -> F2R xd = round beta fexp Zfloor x0 -> F2R xu = round beta fexp Zceil x0 -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))) -> Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = negb (Z.even (Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

~ format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := 0; Fexp := fexp (mag beta 0) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

x <> F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := 0; Fexp := fexp (mag beta 0) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

(scaled_mantissa beta fexp x * bpow (cexp x))%R <> F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := 0; Fexp := fexp (mag beta 0) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

(scaled_mantissa beta fexp x * bpow (cexp x))%R <> (IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := 0; Fexp := fexp (mag beta 0) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

bpow (cexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
scaled_mantissa beta fexp x <> IZR (Ztrunc (scaled_mantissa beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := 0; Fexp := fexp (mag beta 0) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

scaled_mantissa beta fexp x <> IZR (Ztrunc (scaled_mantissa beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := 0; Fexp := fexp (mag beta 0) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
(0 <= scaled_mantissa beta fexp x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := 0; Fexp := fexp (mag beta 0) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

(0 <= scaled_mantissa beta fexp x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := 0; Fexp := fexp (mag beta 0) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

(0 <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
(0 <= bpow (- cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := 0; Fexp := fexp (mag beta 0) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

(0 <= bpow (- cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := 0; Fexp := fexp (mag beta 0) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

canonical {| Fnum := 0; Fexp := fexp (mag beta 0) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

canonical {| Fnum := mf; Fexp := ef |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

Fexp {| Fnum := mf; Fexp := ef |} = cexp (F2R {| Fnum := mf; Fexp := ef |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

F2R {| Fnum := 0; Fexp := fexp (mag beta 0) |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

F2R {| Fnum := mf; Fexp := ef |} = round beta fexp Ztrunc (round beta fexp Zceil x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
round beta fexp Ztrunc (round beta fexp Zceil x) = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

round beta fexp Ztrunc (round beta fexp Zceil x) = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

Fnum {| Fnum := 0; Fexp := fexp (mag beta 0) |} = Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

0%Z = Zfloor (scaled_mantissa beta fexp x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

(0 * bpow (cexp x))%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
bpow (cexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp x))%R

(0 * bpow (cexp x))%R = 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x
bpow (cexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
f:=round beta fexp Zceil x:R
ef:=cexp f:Z
mf:=Ztrunc (scaled_mantissa beta fexp f):Z
H0:f = F2R {| Fnum := mf; Fexp := ef |}
H1:Z.even (Zfloor (scaled_mantissa beta fexp x)) = true
Y:0%R = round beta fexp Zfloor x

bpow (cexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))

Z.even (Zfloor (scaled_mantissa beta fexp x)) = false -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
(* . *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false

exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false

(0 <= round beta fexp Zfloor x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
(0 < round beta fexp Zfloor x)%R -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false

(round beta fexp Zfloor 0 <= round beta fexp Zfloor x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
(0 < round beta fexp Zfloor x)%R -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false

(0 <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
(0 < round beta fexp Zfloor x)%R -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false

(0 < round beta fexp Zfloor x)%R -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
Hrx:(0 < round beta fexp Zfloor x)%R

exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
Hrx:(0 < round beta fexp Zfloor x)%R
ef:=cexp x:Z

exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := ef |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
Hrx:(0 < round beta fexp Zfloor x)%R
ef:=cexp x:Z
mf:=Zfloor (scaled_mantissa beta fexp x):Z

exists g : float beta, F2R {| Fnum := mf; Fexp := ef |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
Hrx:(0 < round beta fexp Zfloor x)%R
ef:=cexp x:Z
mf:=Zfloor (scaled_mantissa beta fexp x):Z

F2R {| Fnum := mf; Fexp := ef |} = F2R {| Fnum := mf; Fexp := ef |} /\ canonical {| Fnum := mf; Fexp := ef |} /\ Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
Hrx:(0 < round beta fexp Zfloor x)%R
ef:=cexp x:Z
mf:=Zfloor (scaled_mantissa beta fexp x):Z

F2R {| Fnum := mf; Fexp := ef |} = F2R {| Fnum := mf; Fexp := ef |} /\ Fexp {| Fnum := mf; Fexp := ef |} = cexp (F2R {| Fnum := mf; Fexp := ef |}) /\ Z.even (Fnum {| Fnum := mf; Fexp := ef |}) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
Hrx:(0 < round beta fexp Zfloor x)%R
ef:=cexp x:Z
mf:=Zfloor (scaled_mantissa beta fexp x):Z

Fexp {| Fnum := mf; Fexp := ef |} = cexp (F2R {| Fnum := mf; Fexp := ef |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
Hrx:(0 < round beta fexp Zfloor x)%R
ef:=cexp x:Z
mf:=Zfloor (scaled_mantissa beta fexp x):Z

ef = cexp (F2R {| Fnum := mf; Fexp := ef |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
Hrx:(0 < round beta fexp Zfloor x)%R
ef:=cexp x:Z
mf:=Zfloor (scaled_mantissa beta fexp x):Z

ef = cexp (round beta fexp Zfloor x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
Hrx:(0 < round beta fexp Zfloor x)%R
ef:=cexp x:Z
mf:=Zfloor (scaled_mantissa beta fexp x):Z
cexp (round beta fexp Zfloor x) = cexp (F2R {| Fnum := mf; Fexp := ef |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
Hrx:(0 < round beta fexp Zfloor x)%R
ef:=cexp x:Z
mf:=Zfloor (scaled_mantissa beta fexp x):Z

cexp (round beta fexp Zfloor x) = cexp (F2R {| Fnum := mf; Fexp := ef |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false
0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Y:Z.even (Zfloor (scaled_mantissa beta fexp x)) = false

0%R = round beta fexp Zfloor x -> exists g : float beta, F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp x |} = F2R g /\ canonical g /\ Z.even (Fnum g) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Hrx:0%R = round beta fexp Zfloor x

Z.even (Zfloor (scaled_mantissa beta fexp x)) <> false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Hrx:0%R = round beta fexp Zfloor x

Z.even 0 <> false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Hrx:0%R = round beta fexp Zfloor x
0%Z = Zfloor (scaled_mantissa beta fexp x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Hrx:0%R = round beta fexp Zfloor x

0%Z = Zfloor (scaled_mantissa beta fexp x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Hrx:0%R = round beta fexp Zfloor x

(0 * bpow (cexp x))%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Hrx:0%R = round beta fexp Zfloor x
bpow (cexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Hrx:0%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp x))%R

(0 * bpow (cexp x))%R = 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Hrx:0%R = round beta fexp Zfloor x
bpow (cexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x:R
Hxp:(0 < x)%R
o:=round beta fexp Zrnd_odd x:R
Ho:format o
Hx:o <> x
H:o = round beta fexp Zfloor x \/ o = round beta fexp Zceil x
L:scaled_mantissa beta fexp x <> IZR (Zfloor (scaled_mantissa beta fexp x))
Hrx:0%R = round beta fexp Zfloor x

bpow (cexp x) <> 0%R
apply Rgt_not_eq, bpow_gt_0. Qed.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

forall x f1 f2 : R, Rnd_odd_pt x f1 -> Rnd_odd_pt x f2 -> f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

forall x f1 f2 : R, Rnd_odd_pt x f1 -> Rnd_odd_pt x f2 -> f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)

f1 = f2
(* *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x

f1 = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x
x = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x

(Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false) -> f1 = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x
x = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x
J:Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1
J':Rnd_DN_pt format x f1

f1 = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x
J:Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1
J':Rnd_UP_pt format x f1
f1 = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x
x = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x
J:Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1
J':Rnd_UP_pt format x f1

f1 = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x
x = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x

x = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x

(Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false) -> x = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x
J:Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2
J':Rnd_DN_pt format x f2

f2 = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x
J:Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2
J':Rnd_UP_pt format x f2
f2 = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:format x
J:Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2
J':Rnd_UP_pt format x f2

f2 = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x \/ (Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1) /\ (exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x

f1 = f2
(* *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:f1 = x
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:f2 = x \/ (Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2) /\ (exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false)
L:~ format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:f2 = x
L:~ format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1 \/ Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2 \/ Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

true = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

true = Z.even (Fnum gg)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

true = negb (Z.even (Fnum ff))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x
negb (Z.even (Fnum ff)) = Z.even (Fnum gg)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

negb (Z.even (Fnum ff)) = Z.even (Fnum gg)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

Z.even (Fnum gg) = negb (Z.even (Fnum ff))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

DN_UP_parity_prop beta fexp -> Z.even (Fnum gg) = negb (Z.even (Fnum ff))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

F2R ff = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x
F2R gg = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

Rnd_DN_pt format x (round beta fexp Zfloor x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x
F2R gg = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

F2R gg = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_DN_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

Rnd_UP_pt format x (round beta fexp Zceil x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
(* *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

true = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

true = Z.even (Fnum ff)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

true = negb (Z.even (Fnum gg))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x
negb (Z.even (Fnum gg)) = Z.even (Fnum ff)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

negb (Z.even (Fnum gg)) = Z.even (Fnum ff)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

Z.even (Fnum ff) = negb (Z.even (Fnum gg))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

DN_UP_parity_prop beta fexp -> Z.even (Fnum ff) = negb (Z.even (Fnum gg))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

F2R gg = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x
F2R ff = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

Rnd_DN_pt format x (round beta fexp Zfloor x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x
F2R ff = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

F2R ff = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
ff:float beta
K1:f1 = F2R ff
K2:canonical ff
K3:Z.even (Fnum ff) = false
Ff2:format f2
H2:Rnd_DN_pt format x f2
gg:float beta
L1:f2 = F2R gg
L2:canonical gg
L3:Z.even (Fnum gg) = false
L:~ format x

Rnd_UP_pt format x (round beta fexp Zceil x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x
f1 = f2
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, f1, f2:R
Ff1:format f1
H1:Rnd_UP_pt format x f1
H1':exists g : float beta, f1 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
Ff2:format f2
H2:Rnd_UP_pt format x f2
H2':exists g : float beta, f2 = F2R g /\ canonical g /\ Z.even (Fnum g) = false
L:~ format x

f1 = f2
apply Rnd_UP_pt_unique with format x; assumption. Qed.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

round_pred_monotone Rnd_odd_pt
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp

round_pred_monotone Rnd_odd_pt
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, y, f, g:R
H1:Rnd_odd_pt x f
H2:Rnd_odd_pt y g
Hxy:(x <= y)%R

(f <= g)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, y, f, g:R
H1:Rnd_odd_pt x f
H2:Rnd_odd_pt y g
Hxy:(x <= y)%R

(f <= round beta fexp Zrnd_odd x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, y, f, g:R
H1:Rnd_odd_pt x f
H2:Rnd_odd_pt y g
Hxy:(x <= y)%R
(round beta fexp Zrnd_odd x <= g)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, y, f, g:R
H1:Rnd_odd_pt x f
H2:Rnd_odd_pt y g
Hxy:(x <= y)%R

Rnd_odd_pt x (round beta fexp Zrnd_odd x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, y, f, g:R
H1:Rnd_odd_pt x f
H2:Rnd_odd_pt y g
Hxy:(x <= y)%R
(round beta fexp Zrnd_odd x <= g)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, y, f, g:R
H1:Rnd_odd_pt x f
H2:Rnd_odd_pt y g
Hxy:(x <= y)%R

(round beta fexp Zrnd_odd x <= g)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, y, f, g:R
H1:Rnd_odd_pt x f
H2:Rnd_odd_pt y g
Hxy:(x <= y)%R

(round beta fexp Zrnd_odd x <= round beta fexp Zrnd_odd y)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, y, f, g:R
H1:Rnd_odd_pt x f
H2:Rnd_odd_pt y g
Hxy:(x <= y)%R
(round beta fexp Zrnd_odd y <= g)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, y, f, g:R
H1:Rnd_odd_pt x f
H2:Rnd_odd_pt y g
Hxy:(x <= y)%R

(round beta fexp Zrnd_odd y <= g)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
x, y, f, g:R
H1:Rnd_odd_pt x f
H2:Rnd_odd_pt y g
Hxy:(x <= y)%R

Rnd_odd_pt y (round beta fexp Zrnd_odd y)
apply round_odd_pt. Qed. End Fcore_rnd_odd. Section Odd_prop_aux. Variable beta : radix. Hypothesis Even_beta: Z.even (radix_val beta)=true. Notation bpow e := (bpow beta e). Variable fexp : Z -> Z. Variable fexpe : Z -> Z. Context { valid_exp : Valid_exp fexp }. Context { exists_NE_ : Exists_NE beta fexp }. (* for underflow reason *) Context { valid_expe : Valid_exp fexpe }. Context { exists_NE_e : Exists_NE beta fexpe }. (* for defining rounding to odd *) Hypothesis fexpe_fexp: forall e, (fexpe e <= fexp e -2)%Z.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z

forall x : R, generic_format beta fexp x -> generic_format beta fexpe x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z

forall x : R, generic_format beta fexp x -> generic_format beta fexpe x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
Hx:generic_format beta fexp x

generic_format beta fexpe x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
Hx:generic_format beta fexp x
Hx2:x <> 0%R

(fexpe (mag beta x) <= fexp (mag beta x))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
Hx:generic_format beta fexp x
Hx2:x <> 0%R

(fexpe (mag beta x) <= fexp (mag beta x) - 2)%Z -> (fexpe (mag beta x) <= fexp (mag beta x))%Z
omega. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z

forall (c : Z -> Z) (x : R), (exists f : float beta, F2R f = x /\ (c (mag beta x) < Fexp f)%Z) -> exists f : float beta, F2R f = x /\ canonical beta c f /\ Z.even (Fnum f) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z

forall (c : Z -> Z) (x : R), (exists f : float beta, F2R f = x /\ (c (mag beta x) < Fexp f)%Z) -> exists f : float beta, F2R f = x /\ canonical beta c f /\ Z.even (Fnum f) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z

exists f : float beta, F2R f = x /\ canonical beta c f /\ Z.even (Fnum f) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z

F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x /\ canonical beta c {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} /\ Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z

F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x /\ canonical beta c {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} /\ Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z

(IZR (Fnum g * beta ^ (Fexp g - c (mag beta x))) * bpow (c (mag beta x)))%R = x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x /\ canonical beta c {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} /\ Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z

(IZR (Fnum g) * bpow (Fexp g - c (mag beta x)) * bpow (c (mag beta x)))%R = x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
(0 <= Fexp g - c (mag beta x))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x /\ canonical beta c {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} /\ Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z

(IZR (Fnum g) * bpow (Fexp g - c (mag beta x) + c (mag beta x)))%R = x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
(0 <= Fexp g - c (mag beta x))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x /\ canonical beta c {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} /\ Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z

(IZR (Fnum g) * bpow (Fexp g - c (mag beta (IZR (Fnum g) * bpow (Fexp g))) + c (mag beta (IZR (Fnum g) * bpow (Fexp g)))))%R = (IZR (Fnum g) * bpow (Fexp g))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
(0 <= Fexp g - c (mag beta x))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x /\ canonical beta c {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} /\ Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z

(Fexp g - c (mag beta (IZR (Fnum g) * bpow (Fexp g))) + c (mag beta (IZR (Fnum g) * bpow (Fexp g))))%Z = Fexp g
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
(0 <= Fexp g - c (mag beta x))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x /\ canonical beta c {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} /\ Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z

(0 <= Fexp g - c (mag beta x))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x /\ canonical beta c {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} /\ Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x

F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x /\ canonical beta c {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} /\ Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x

canonical beta c {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} /\ Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x

canonical beta c {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x

Fexp {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = c (mag beta (F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}))
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x

Z.even (Fnum {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |}) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x

Z.even (Fnum g * beta ^ (Fexp g - c (mag beta x))) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x

(Z.even (Fnum g) || Z.even (beta ^ (Fexp g - c (mag beta x))))%bool = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x

(Z.even (Fnum g) || Z.even beta)%bool = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
(0 < Fexp g - c (mag beta x))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x

(Z.even (Fnum g) || true)%bool = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
(0 < Fexp g - c (mag beta x))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x

Z.even (Fnum g) = true \/ true = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x
(0 < Fexp g - c (mag beta x))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
c:Z -> Z
x:R
g:float beta
Hg1:F2R g = x
Hg2:(c (mag beta x) < Fexp g)%Z
H:F2R {| Fnum := Fnum g * beta ^ (Fexp g - c (mag beta x)); Fexp := c (mag beta x) |} = x

(0 < Fexp g - c (mag beta x))%Z
omega. Qed. Variable choice:Z->bool. Variable x:R. Variable d u: float beta. Hypothesis Hd: Rnd_DN_pt (generic_format beta fexp) x (F2R d). Hypothesis Cd: canonical beta fexp d. Hypothesis Hu: Rnd_UP_pt (generic_format beta fexp) x (F2R u). Hypothesis Cu: canonical beta fexp u. Hypothesis xPos: (0 < x)%R. Let m:= ((F2R d+F2R u)/2)%R.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

F2R d = round beta fexp Zfloor x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

F2R d = round beta fexp Zfloor x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

Rnd_DN_pt (generic_format beta fexp) x (round beta fexp Zfloor x)
apply round_DN_pt... Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

F2R u = round beta fexp Zceil x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

F2R u = round beta fexp Zceil x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

Rnd_UP_pt (generic_format beta fexp) x (round beta fexp Zceil x)
apply round_UP_pt... Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

generic_format beta fexp 0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
(0 <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 <= x)%R
now left. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> mag beta (F2R d) = mag beta x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> mag beta (F2R d) = mag beta x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

mag beta (F2R d) = mag beta x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

(0 < round beta fexp Zfloor x)%R
now rewrite <- d_eq. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> Fexp d = fexp (mag beta x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> Fexp d = fexp (mag beta x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

Fexp d = fexp (mag beta x)
now rewrite Cd, <- mag_d. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> generic_format beta fexp (bpow (mag beta x))
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> generic_format beta fexp (bpow (mag beta x))
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

generic_format beta fexp (bpow (mag beta x))
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

(fexp (mag beta x + 1) <= mag beta x)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

(fexp (mag beta x) < mag beta x)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

(Fexp d < mag beta x)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

(Fexp d < mag beta (F2R d))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
(mag beta (F2R d) <= mag beta x)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

F2R d <> 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
generic_format beta fexp (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
(mag beta (F2R d) <= mag beta x)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

generic_format beta fexp (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
(mag beta (F2R d) <= mag beta x)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

(mag beta (F2R d) <= mag beta x)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

(F2R d <= x)%R
apply Hd. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> generic_format beta fexp (bpow (mag beta (F2R d)))
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> generic_format beta fexp (bpow (mag beta (F2R d)))
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

(fexp (mag beta (F2R d) + 1) <= mag beta (F2R d))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

(fexp (mag beta (F2R d)) < mag beta (F2R d))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

F2R d <> 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
generic_format beta fexp (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

generic_format beta fexp (F2R d)
now apply generic_format_canonical. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(F2R d <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
H:(F2R d <= F2R u)%R
(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(F2R d <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
(x <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
H:(F2R d <= F2R u)%R
(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(x <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
H:(F2R d <= F2R u)%R
(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
H:(F2R d <= F2R u)%R

(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
H:(F2R d <= F2R u)%R

(F2R d <= (F2R d + F2R u) / 2)%R
lra. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(m <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(m <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(F2R d <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
H:(F2R d <= F2R u)%R
(m <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(F2R d <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
(x <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
H:(F2R d <= F2R u)%R
(m <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(x <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
H:(F2R d <= F2R u)%R
(m <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
H:(F2R d <= F2R u)%R

(m <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
H:(F2R d <= F2R u)%R

((F2R d + F2R u) / 2 <= F2R u)%R
lra. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> mag beta m = mag beta (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> mag beta m = mag beta (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R

(bpow (mag beta (F2R d) - 1) <= m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R

(bpow (mag beta (F2R d) - 1) <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R

(bpow (mag beta (F2R d) - 1) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R

(bpow (Build_mag_prop beta (F2R d) e He - 1) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R

(bpow (e - 1) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= F2R d < bpow e)%R

(bpow (e - 1) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R
(F2R d >= 0)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= F2R d < bpow e)%R

F2R d <> 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R
(F2R d >= 0)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R

(F2R d >= 0)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R

(F2R d <= m)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R

(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R

(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R

(F2R u <= bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R

(round beta fexp Zceil x <= bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R

generic_format beta fexp (bpow (mag beta (F2R d)))
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
(x <= bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R

(fexp (mag beta (F2R d) + 1) <= mag beta (F2R d))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
(x <= bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R

(fexp (mag beta (F2R d)) < mag beta (F2R d))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
(x <= bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R

F2R d <> 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
generic_format beta fexp (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
(x <= bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R

generic_format beta fexp (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
(x <= bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R

(x <= bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

(x <= bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

~ (bpow (mag beta (F2R d)) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(bpow (mag beta (F2R d)) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

(F2R d < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(bpow (mag beta (F2R d)) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : BinNums.Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
e:BinNums.Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R
Z:(bpow (Build_mag_prop beta (F2R d) e He) < x)%R

(F2R d < bpow (Build_mag_prop beta (F2R d) e He))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(bpow (mag beta (F2R d)) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : BinNums.Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
e:BinNums.Z
He:F2R d <> 0%R -> (bpow (e - 1) <= F2R d < bpow e)%R
Z:(bpow e < x)%R

(F2R d < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : BinNums.Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
e:BinNums.Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R
Z:(bpow e < x)%R
(F2R d >= 0)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(bpow (mag beta (F2R d)) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : BinNums.Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
e:BinNums.Z
He:F2R d <> 0%R -> (bpow (e - 1) <= F2R d < bpow e)%R
Z:(bpow e < x)%R

F2R d <> 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : BinNums.Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
e:BinNums.Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R
Z:(bpow e < x)%R
(F2R d >= 0)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(bpow (mag beta (F2R d)) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : BinNums.Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
e:BinNums.Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R
Z:(bpow e < x)%R

(F2R d >= 0)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(bpow (mag beta (F2R d)) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

(bpow (mag beta (F2R d)) <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

(bpow (mag beta (F2R d)) <= round beta fexp Zfloor x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(round beta fexp Zfloor x <= F2R d)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

(bpow (mag beta (F2R d)) <= round beta fexp Zfloor x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

generic_format beta fexp (bpow (mag beta (F2R d)))
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(bpow (mag beta (F2R d)) <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

(fexp (mag beta (F2R d) + 1) <= mag beta (F2R d))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(bpow (mag beta (F2R d)) <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

(fexp (mag beta (F2R d)) < mag beta (F2R d))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(bpow (mag beta (F2R d)) <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

F2R d <> 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
generic_format beta fexp (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(bpow (mag beta (F2R d)) <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

generic_format beta fexp (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R
(bpow (mag beta (F2R d)) <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:BinNums.Z -> BinNums.Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : BinNums.Z, (fexpe e <= fexp e - 2)%Z
choice:BinNums.Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:(m < F2R u)%R
Z:(bpow (mag beta (F2R d)) < x)%R

(bpow (mag beta (F2R d)) <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u

(m < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u

(F2R d < bpow (mag beta (F2R d)))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
F2R d = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R

(F2R d < bpow (Build_mag_prop beta (F2R d) e He))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
F2R d = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= F2R d < bpow e)%R

(F2R d < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R
(F2R d >= 0)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
F2R d = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= F2R d < bpow e)%R

F2R d <> 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R
(F2R d >= 0)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
F2R d = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
e:Z
He:F2R d <> 0%R -> (bpow (e - 1) <= Rabs (F2R d) < bpow e)%R

(F2R d >= 0)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u
F2R d = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:m = F2R u

F2R d = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
dPos:(0 < F2R d)%R
H:((F2R d + F2R u) / 2)%R = F2R u

F2R d = ((F2R d + F2R u) / 2)%R
lra. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

0%R = F2R d -> mag beta m = (mag beta (F2R u) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

0%R = F2R d -> mag beta m = (mag beta (F2R u) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d

mag beta m = (mag beta (F2R u) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d

(bpow (mag beta (F2R u) - 1 - 1) <= m < bpow (mag beta (F2R u) - 1))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d

(bpow (mag beta (F2R u) - 1 - 1) <= F2R u / 2 < bpow (mag beta (F2R u) - 1))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d

(bpow (mag beta (round beta fexp Zceil x) - 1 - 1) <= round beta fexp Zceil x / 2 < bpow (mag beta (round beta fexp Zceil x) - 1))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R

(bpow (mag beta (round beta fexp Zceil x) - 1 - 1) <= round beta fexp Zceil x / 2 < bpow (mag beta (round beta fexp Zceil x) - 1))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (mag beta (round beta fexp Zceil x) - 1 - 1) <= round beta fexp Zceil x / 2 < bpow (mag beta (round beta fexp Zceil x) - 1))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (mag beta (bpow (fexp e)) - 1 - 1) <= bpow (fexp e) / 2 < bpow (mag beta (bpow (fexp e)) - 1))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (fexp e + 1 - 1 - 1) <= bpow (fexp e) / 2 < bpow (fexp e + 1 - 1))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (fexp e - 1) <= bpow (fexp e) / 2 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (fexp e - 1) <= bpow (fexp e) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (fexp e) / 2 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (fexp e) * bpow (- (1)) <= bpow (fexp e) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (fexp e) / 2 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(0 <= bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (- (1)) <= / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (fexp e) / 2 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (- (1)) <= / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (fexp e) / 2 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(/ IZR (beta * 1) <= / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (fexp e) / 2 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(0 < 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(2 <= IZR beta)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (fexp e) / 2 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(2 <= IZR beta)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (fexp e) / 2 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(2 <= beta)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (fexp e) / 2 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(1 < beta)%Z -> (2 <= beta)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (fexp e) / 2 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (fexp e) / 2 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (fexp e) / 2 < bpow (fexp e) * 1)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (fexp e) * 1 <= bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (fexp e) / 2 < bpow (fexp e) * 1)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(0 < bpow (fexp e))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(/ 2 < 1)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(/ 2 < 1)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
round beta fexp Zfloor x = 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

round beta fexp Zfloor x = 0%R
now rewrite <- d_eq, Y. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> exists f : float beta, F2R f = F2R u /\ Fexp f = Fexp d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> exists f : float beta, F2R f = F2R u /\ Fexp f = Fexp d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

exists f : float beta, F2R f = F2R u /\ Fexp f = Fexp d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

exists f : float beta, F2R f = F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} /\ Fexp f = Fexp d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

Fexp {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} = Fexp d
simpl; now rewrite Fexp_d. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> exists f : float beta, F2R f = m /\ Fexp f = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

(0 < F2R d)%R -> exists f : float beta, F2R f = m /\ Fexp f = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

exists f : float beta, F2R f = m /\ Fexp f = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

(exists p : Z, beta = (2 * p + 0)%Z) -> exists f : float beta, F2R f = m /\ Fexp f = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z

exists f : float beta, F2R f = m /\ Fexp f = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

exists f : float beta, F2R f = m /\ Fexp f = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

F2R (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = m /\ Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

F2R (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

(F2R {| Fnum := b; Fexp := -1 |} * (F2R d + F2R u))%R = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

((F2R d + F2R u) * F2R {| Fnum := b; Fexp := -1 |})%R = ((F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

F2R {| Fnum := b; Fexp := -1 |} = (/ 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

(IZR b * / IZR (beta * 1))%R = (/ 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

(IZR b * / (2 * IZR b))%R = (/ 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

IZR b <> 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

(2 * 0 < 2 * IZR b)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

(0 < IZR beta)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

Fexp (Fmult {| Fnum := b; Fexp := -1 |} (Fplus d u')) = (-1 + Fexp (Fplus d u'))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
(-1 + Fexp (Fplus d u'))%Z = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

Fexp (let '{| Fnum := m2; Fexp := e2 |} := Fplus d u' in {| Fnum := b * m2; Fexp := -1 + e2 |}) = (-1 + Fexp (Fplus d u'))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
(-1 + Fexp (Fplus d u'))%Z = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

(-1 + Fexp (Fplus d u'))%Z = (fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

Fexp (Fplus d u') = fexp (mag beta x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
(-1)%Z = (- (1))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

Fexp (Fplus d u') = fexp (mag beta x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

Z.min (Fexp d) (Fexp u') = fexp (mag beta x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

Fexp d = fexp (mag beta x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d
(Fexp d <= Fexp u')%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
b:Z
Hb:beta = (2 * b)%Z
u':float beta
Hu'1:F2R u' = F2R u
Hu'2:Fexp u' = Fexp d

(Fexp d <= Fexp u')%Z
rewrite Hu'2; omega. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

0%R = F2R d -> exists f : float beta, F2R f = m /\ Fexp f = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

0%R = F2R d -> exists f : float beta, F2R f = m /\ Fexp f = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d

exists f : float beta, F2R f = m /\ Fexp f = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d

(exists p : Z, beta = (2 * p + 0)%Z) -> exists f : float beta, F2R f = m /\ Fexp f = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

exists f : float beta, F2R f = m /\ Fexp f = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

F2R (Fmult {| Fnum := b; Fexp := -1 |} u) = m /\ Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

F2R (Fmult {| Fnum := b; Fexp := -1 |} u) = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z
Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

(F2R {| Fnum := b; Fexp := -1 |} * F2R u)%R = (F2R u / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z
Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

(F2R u * F2R {| Fnum := b; Fexp := -1 |})%R = (F2R u / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z
Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

F2R {| Fnum := b; Fexp := -1 |} = (/ 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z
Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

(IZR b * / IZR (beta * 1))%R = (/ 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z
Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

(IZR b * / (2 * IZR b))%R = (/ 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z
Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

IZR b <> 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z
Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

(2 * 0 < 2 * IZR b)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z
Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

(0 < IZR beta)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z
Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

Fexp (Fmult {| Fnum := b; Fexp := -1 |} u) = (-1 + Fexp u)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z
(-1 + Fexp u)%Z = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

Fexp (let '{| Fnum := m2; Fexp := e2 |} := u in {| Fnum := b * m2; Fexp := -1 + e2 |}) = (-1 + Fexp u)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z
(-1 + Fexp u)%Z = (fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
b:Z
Hb:beta = (2 * b)%Z

(-1 + Fexp u)%Z = (fexp (mag beta (F2R u)) - 1)%Z
rewrite Zplus_comm, Cu; unfold Zminus; now apply f_equal2. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

0%R = F2R d -> (fexp (mag beta (F2R u) - 1) < fexp (mag beta (F2R u)) + 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

0%R = F2R d -> (fexp (mag beta (F2R u) - 1) < fexp (mag beta (F2R u)) + 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d

(fexp (mag beta (F2R u) - 1) < fexp (mag beta (F2R u)) + 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d

(fexp (mag beta (F2R u) - 1) <= fexp (mag beta (F2R u)))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
H:(fexp (mag beta (F2R u) - 1) <= fexp (mag beta (F2R u)))%Z
(fexp (mag beta (F2R u) - 1) < fexp (mag beta (F2R u)) + 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d

(fexp (mag beta (F2R u) - 1) <= fexp (mag beta (F2R u)))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R

(fexp (mag beta (F2R u) - 1) <= fexp (mag beta (F2R u)))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(fexp (mag beta (F2R u) - 1) <= fexp (mag beta (F2R u)))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(x >= 0)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(fexp (mag beta (F2R u) - 1) <= fexp (mag beta (F2R u)))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(e <= fexp e)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z
(fexp (mag beta (F2R u) - 1) <= fexp (mag beta (F2R u)))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
round beta fexp Zfloor x = 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z
(fexp (mag beta (F2R u) - 1) <= fexp (mag beta (F2R u)))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R

round beta fexp Zfloor x = 0%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z
(fexp (mag beta (F2R u) - 1) <= fexp (mag beta (F2R u)))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z

(fexp (mag beta (F2R u) - 1) <= fexp (mag beta (F2R u)))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z

(fexp (mag beta (bpow (fexp e)) - 1) <= fexp (mag beta (bpow (fexp e))))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z
(bpow (e - 1) <= x < bpow e)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z

(fexp (mag beta (bpow (fexp e)) - 1) <= fexp (mag beta (bpow (fexp e))))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z

(fexp (fexp e + 1 - 1) <= fexp (fexp e + 1))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z

(fexp (fexp e) <= fexp (fexp e + 1))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z

(fexp e <= fexp (fexp e + 1))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z
fexp e = fexp (fexp e)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z
V:Z.even beta = false

(fexp e <= fexp (fexp e + 1))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z
V:forall e0 : Z, ((fexp e0 < e0)%Z -> (fexp (e0 + 1) < e0)%Z) /\ ((e0 <= fexp e0)%Z -> fexp (fexp e0 + 1) = fexp e0)
(fexp e <= fexp (fexp e + 1))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z
fexp e = fexp (fexp e)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z
V:forall e0 : Z, ((fexp e0 < e0)%Z -> (fexp (e0 + 1) < e0)%Z) /\ ((e0 <= fexp e0)%Z -> fexp (fexp e0 + 1) = fexp e0)

(fexp e <= fexp (fexp e + 1))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z
fexp e = fexp (fexp e)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e0 : Z, (fexpe e0 <= fexp e0 - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
e:Z
He:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
H:(e <= fexp e)%Z

fexp e = fexp (fexp e)
apply sym_eq, valid_exp; omega. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
generic_format beta fexpe m
(* *)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

F2R g = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z
m <> 0%R -> (cexp beta fexpe m <= Fexp g)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

m <> 0%R -> (cexp beta fexpe m <= Fexp g)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z
H:m <> 0%R

(fexpe (mag beta m) <= fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z
H:m <> 0%R

(fexpe (mag beta (F2R d)) <= fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z
H:m <> 0%R

(fexpe (mag beta (F2R d)) <= Fexp d - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z
H:m <> 0%R

(fexpe (mag beta (F2R d)) <= cexp beta fexp (F2R d) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z
H:m <> 0%R

(fexpe (mag beta (F2R d)) <= fexp (mag beta (F2R d)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z
H:m <> 0%R

(fexpe (mag beta (F2R d)) <= fexp (mag beta (F2R d)) - 2)%Z -> (fexpe (mag beta (F2R d)) <= fexp (mag beta (F2R d)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d

generic_format beta fexpe m
(* *)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z

generic_format beta fexpe m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z

F2R g = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z
m <> 0%R -> (cexp beta fexpe m <= Fexp g)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z

m <> 0%R -> (cexp beta fexpe m <= Fexp g)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z
H:m <> 0%R

(fexpe (mag beta m) <= fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z
H:m <> 0%R

(fexpe (mag beta (F2R u) - 1) <= fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z
H:m <> 0%R

(fexp (mag beta (F2R u) - 1) - 2 <= fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z
H:m <> 0%R

(fexp (mag beta (F2R u) - 1) < fexp (mag beta (F2R u)) + 1)%Z -> (fexp (mag beta (F2R u) - 1) - 2 <= fexp (mag beta (F2R u)) - 1)%Z
omega. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R

exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
(* *)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

exists g0 : float beta, F2R g0 = m /\ canonical beta fexpe g0 /\ Z.even (Fnum g0) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

exists f : float beta, F2R f = m /\ (fexpe (mag beta m) < Fexp f)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

(fexpe (mag beta m) < Fexp g)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

(fexpe (mag beta m) < fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

(fexpe (mag beta (F2R d)) < fexp (mag beta x) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

(fexpe (mag beta (F2R d)) < Fexp d - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

(fexpe (mag beta (F2R d)) < cexp beta fexp (F2R d) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

(fexpe (mag beta (F2R d)) < fexp (mag beta (F2R d)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:(0 < F2R d)%R
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta x) - 1)%Z

(fexpe (mag beta (F2R d)) <= fexp (mag beta (F2R d)) - 2)%Z -> (fexpe (mag beta (F2R d)) < fexp (mag beta (F2R d)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d

exists g : float beta, F2R g = m /\ canonical beta fexpe g /\ Z.even (Fnum g) = true
(* *)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z

exists g0 : float beta, F2R g0 = m /\ canonical beta fexpe g0 /\ Z.even (Fnum g0) = true
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z

exists f : float beta, F2R f = m /\ (fexpe (mag beta m) < Fexp f)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z

(fexpe (mag beta m) < Fexp g)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z

(fexpe (mag beta m) < fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z

(fexpe (mag beta (F2R u) - 1) < fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z

(fexp (mag beta (F2R u) - 1) - 2 < fexp (mag beta (F2R u)) - 1)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
Y:0%R = F2R d
g:float beta
Hg1:F2R g = m
Hg2:Fexp g = (fexp (mag beta (F2R u)) - 1)%Z

(fexp (mag beta (F2R u) - 1) < fexp (mag beta (F2R u)) + 1)%Z -> (fexp (mag beta (F2R u) - 1) - 2 < fexp (mag beta (F2R u)) - 1)%Z
omega. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

forall z : R, (F2R d <= z < F2R u)%R -> Rnd_DN_pt (generic_format beta fexp) z (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

forall z : R, (F2R d <= z < F2R u)%R -> Rnd_DN_pt (generic_format beta fexp) z (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R

Rnd_DN_pt (generic_format beta fexp) z (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R

Rnd_DN_pt (generic_format beta fexp) z (round beta fexp Zfloor z)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
round beta fexp Zfloor z = F2R d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R

round beta fexp Zfloor z = F2R d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R

generic_format beta fexp (round beta fexp Zfloor z)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
(round beta fexp Zfloor z <= F2R d)%R -> round beta fexp Zfloor z = F2R d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
(F2R u <= round beta fexp Zfloor z)%R -> round beta fexp Zfloor z = F2R d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R

(round beta fexp Zfloor z <= F2R d)%R -> round beta fexp Zfloor z = F2R d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
(F2R u <= round beta fexp Zfloor z)%R -> round beta fexp Zfloor z = F2R d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
Y:(round beta fexp Zfloor z <= F2R d)%R

(F2R d <= round beta fexp Zfloor z)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
(F2R u <= round beta fexp Zfloor z)%R -> round beta fexp Zfloor z = F2R d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
Y:(round beta fexp Zfloor z <= F2R d)%R

generic_format beta fexp (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
Y:(round beta fexp Zfloor z <= F2R d)%R
(F2R d <= z)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
(F2R u <= round beta fexp Zfloor z)%R -> round beta fexp Zfloor z = F2R d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
Y:(round beta fexp Zfloor z <= F2R d)%R

(F2R d <= z)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
(F2R u <= round beta fexp Zfloor z)%R -> round beta fexp Zfloor z = F2R d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R

(F2R u <= round beta fexp Zfloor z)%R -> round beta fexp Zfloor z = F2R d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
Y:(F2R u <= round beta fexp Zfloor z)%R

(z < z)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d <= z < F2R u)%R
Y:(F2R u <= round beta fexp Zfloor z)%R

(round beta fexp Zfloor z <= z)%R
apply round_DN_pt... Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

forall z : R, (F2R d < z <= F2R u)%R -> Rnd_UP_pt (generic_format beta fexp) z (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

forall z : R, (F2R d < z <= F2R u)%R -> Rnd_UP_pt (generic_format beta fexp) z (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R

Rnd_UP_pt (generic_format beta fexp) z (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R

Rnd_UP_pt (generic_format beta fexp) z (round beta fexp Zceil z)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
round beta fexp Zceil z = F2R u
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R

round beta fexp Zceil z = F2R u
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R

generic_format beta fexp (round beta fexp Zceil z)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
(round beta fexp Zceil z <= F2R d)%R -> round beta fexp Zceil z = F2R u
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
(F2R u <= round beta fexp Zceil z)%R -> round beta fexp Zceil z = F2R u
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R

(round beta fexp Zceil z <= F2R d)%R -> round beta fexp Zceil z = F2R u
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
(F2R u <= round beta fexp Zceil z)%R -> round beta fexp Zceil z = F2R u
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
Y:(round beta fexp Zceil z <= F2R d)%R

(z < z)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
(F2R u <= round beta fexp Zceil z)%R -> round beta fexp Zceil z = F2R u
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
Y:(round beta fexp Zceil z <= F2R d)%R

(z <= round beta fexp Zceil z)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
(F2R u <= round beta fexp Zceil z)%R -> round beta fexp Zceil z = F2R u
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R

(F2R u <= round beta fexp Zceil z)%R -> round beta fexp Zceil z = F2R u
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
Y:(F2R u <= round beta fexp Zceil z)%R

(round beta fexp Zceil z <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
Y:(F2R u <= round beta fexp Zceil z)%R

generic_format beta fexp (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
Y:(F2R u <= round beta fexp Zceil z)%R
(z <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
z:R
Hz1:(F2R d < z <= F2R u)%R
Y:(F2R u <= round beta fexp Zceil z)%R

(z <= F2R u)%R
apply Hz1. Qed.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R

round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:generic_format beta fexp x

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:generic_format beta fexp x

x = o
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:generic_format beta fexp x

generic_format beta fexpe x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x

(F2R d <= o)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x

generic_format beta fexpe (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
(F2R d <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x

(F2R d <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R

(o <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R

generic_format beta fexpe (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
(x <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R

(x <= F2R u)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R

x <> m -> o = m -> forall P : Prop, P
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m

forall P : Prop, P
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m

Rnd_odd_pt beta fexpe x o
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
H:Rnd_odd_pt beta fexpe x o
forall P : Prop, P
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
H:Rnd_odd_pt beta fexpe x o

forall P : Prop, P
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
H:o = x

forall P : Prop, P
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
H:(Rnd_DN_pt (generic_format beta fexpe) x o \/ Rnd_UP_pt (generic_format beta fexpe) x o) /\ (exists g : float beta, o = F2R g /\ canonical beta fexpe g /\ Z.even (Fnum g) = false)
forall P : Prop, P
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
H:o = x

x = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
H:(Rnd_DN_pt (generic_format beta fexpe) x o \/ Rnd_UP_pt (generic_format beta fexpe) x o) /\ (exists g : float beta, o = F2R g /\ canonical beta fexpe g /\ Z.even (Fnum g) = false)
forall P : Prop, P
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
H:(Rnd_DN_pt (generic_format beta fexpe) x o \/ Rnd_UP_pt (generic_format beta fexpe) x o) /\ (exists g : float beta, o = F2R g /\ canonical beta fexpe g /\ Z.even (Fnum g) = false)

forall P : Prop, P
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false

forall P : Prop, P
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = m
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

forall P : Prop, P
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = m
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

true <> false
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = m
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true
true = false
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = m
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

true = false
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = m
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

Z.even (Fnum k') = Z.even (Fnum k)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = m
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

k' = k
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
Y1:x <> m
Y2:o = m
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = m
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

F2R k' = F2R k
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0

generic_format beta fexp o -> forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o

forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o

Rnd_odd_pt beta fexpe x o
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
H:Rnd_odd_pt beta fexpe x o
forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
H:Rnd_odd_pt beta fexpe x o

forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
H:o = x

forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
H:(Rnd_DN_pt (generic_format beta fexpe) x o \/ Rnd_UP_pt (generic_format beta fexpe) x o) /\ (exists g : float beta, o = F2R g /\ canonical beta fexpe g /\ Z.even (Fnum g) = false)
forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
H:o = x

generic_format beta fexp x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
H:(Rnd_DN_pt (generic_format beta fexpe) x o \/ Rnd_UP_pt (generic_format beta fexpe) x o) /\ (exists g : float beta, o = F2R g /\ canonical beta fexpe g /\ Z.even (Fnum g) = false)
forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
H:(Rnd_DN_pt (generic_format beta fexpe) x o \/ Rnd_UP_pt (generic_format beta fexpe) x o) /\ (exists g : float beta, o = F2R g /\ canonical beta fexpe g /\ Z.even (Fnum g) = false)

forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false

forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false

exists f : float beta, F2R f = o /\ (fexpe (mag beta o) < Fexp f)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true
forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false

F2R ?f = o
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
(fexpe (mag beta o) < Fexp ?f)%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true
forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false

(fexpe (mag beta o) < Fexp {| Fnum := Ztrunc (scaled_mantissa beta fexp o); Fexp := cexp beta fexp o |})%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true
forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false

(fexpe (mag beta o) < fexp (mag beta o))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true
forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false

(fexp (mag beta o) - 2 < fexp (mag beta o))%Z
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true
forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

forall P0 : Prop, P0
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

true <> false
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true
true = false
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

true = false
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

Z.even (Fnum k') = Z.even (Fnum k)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

k' = k
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
Y:generic_format beta fexp o
k:float beta
Hk1:o = F2R k
Hk2:canonical beta fexpe k
Hk3:Z.even (Fnum k) = false
k':float beta
Hk'1:F2R k' = o
Hk'2:canonical beta fexpe k'
Hk'3:Z.even (Fnum k') = true

F2R k' = F2R k
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K1:(F2R d <= o)%R
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:F2R d = o
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
K2:(o <= F2R u)%R
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:o = F2R u
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
(* . *)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R

round beta fexp (Znearest choice) o = F2R d
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R

Rnd_DN_pt (generic_format beta fexp) o (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
Rnd_UP_pt (generic_format beta fexp) o (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
(o < (F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R

Rnd_UP_pt (generic_format beta fexp) o (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
(o < (F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R

(o < (F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R

(o <= (F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
H1:(o <= (F2R d + F2R u) / 2)%R
(o < (F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R

generic_format beta fexpe ((F2R d + F2R u) / 2)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
(x <= (F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
H1:(o <= (F2R d + F2R u) / 2)%R
(o < (F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R

(x <= (F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
H1:(o <= (F2R d + F2R u) / 2)%R
(o < (F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
H1:(o <= (F2R d + F2R u) / 2)%R

(o < (F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
H1:o = ((F2R d + F2R u) / 2)%R

(o < (F2R d + F2R u) / 2)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
H1:o = ((F2R d + F2R u) / 2)%R

x <> m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
H1:o = ((F2R d + F2R u) / 2)%R
o = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
H1:o = ((F2R d + F2R u) / 2)%R

o = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R
F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:(x < m)%R

F2R d = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
(* . *)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m

round beta fexp (Znearest choice) x = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m
x = o
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m

x = o
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
H0:x = m

generic_format beta fexpe x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R

round beta fexp (Znearest choice) o = round beta fexp (Znearest choice) x
(* . *)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R

round beta fexp (Znearest choice) o = F2R u
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
F2R u = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R

Rnd_DN_pt (generic_format beta fexp) o (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
Rnd_UP_pt (generic_format beta fexp) o (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
((F2R d + F2R u) / 2 < o)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
F2R u = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R

Rnd_UP_pt (generic_format beta fexp) o (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
((F2R d + F2R u) / 2 < o)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
F2R u = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R

((F2R d + F2R u) / 2 < o)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
F2R u = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R

((F2R d + F2R u) / 2 <= o)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
H0:((F2R d + F2R u) / 2 <= o)%R
((F2R d + F2R u) / 2 < o)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
F2R u = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R

generic_format beta fexpe ((F2R d + F2R u) / 2)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
((F2R d + F2R u) / 2 <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
H0:((F2R d + F2R u) / 2 <= o)%R
((F2R d + F2R u) / 2 < o)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
F2R u = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R

((F2R d + F2R u) / 2 <= x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
H0:((F2R d + F2R u) / 2 <= o)%R
((F2R d + F2R u) / 2 < o)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
F2R u = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
H0:((F2R d + F2R u) / 2 <= o)%R

((F2R d + F2R u) / 2 < o)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
F2R u = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
H0:((F2R d + F2R u) / 2)%R = o

((F2R d + F2R u) / 2 < o)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
F2R u = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
H0:((F2R d + F2R u) / 2)%R = o

x <> m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
H0:((F2R d + F2R u) / 2)%R = o
o = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
F2R u = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
H0:((F2R d + F2R u) / 2)%R = o

o = m
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R
F2R u = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
choice:Z -> bool
x:R
d, u:float beta
Hd:Rnd_DN_pt (generic_format beta fexp) x (F2R d)
Cd:canonical beta fexp d
Hu:Rnd_UP_pt (generic_format beta fexp) x (F2R u)
Cu:canonical beta fexp u
xPos:(0 < x)%R
m:=((F2R d + F2R u) / 2)%R:R
o:=round beta fexpe Zrnd_odd x:R
Hx:~ generic_format beta fexp x
P:x <> m -> o = m -> forall P0 : Prop, P0
H:generic_format beta fexp o -> forall P0 : Prop, P0
K1:(F2R d < o)%R
K2:(o < F2R u)%R
Y:(m < x)%R

F2R u = round beta fexp (Znearest choice) x
apply sym_eq, round_N_eq_UP_pt with (F2R d)... Qed. End Odd_prop_aux. Section Odd_prop. Variable beta : radix. Hypothesis Even_beta: Z.even (radix_val beta)=true. Variable fexp : Z -> Z. Variable fexpe : Z -> Z. Variable choice:Z->bool. Context { valid_exp : Valid_exp fexp }. Context { exists_NE_ : Exists_NE beta fexp }. (* for underflow reason *) Context { valid_expe : Valid_exp fexpe }. Context { exists_NE_e : Exists_NE beta fexpe }. (* for defining rounding to odd *) Hypothesis fexpe_fexp: forall e, (fexpe e <= fexp e -2)%Z.
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z

forall x : R, round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z

forall x : R, round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R

round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R

round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R

round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd (- - x)) = round beta fexp (Znearest choice) (- - x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R

round beta fexp (Znearest choice) (- round beta fexpe Zrnd_odd (- x)) = round beta fexp (Znearest choice) (- - x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R

(- round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (round beta fexpe Zrnd_odd (- x)))%R = (- round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (- x))%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R

round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (round beta fexpe Zrnd_odd (- x)) = round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (- x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R

generic_format beta fexp (round beta fexp Zfloor (- x))
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R
d:float beta
Hd1:round beta fexp Zfloor (- x) = F2R d
Hd2:canonical beta fexp d
round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (round beta fexpe Zrnd_odd (- x)) = round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (- x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R
d:float beta
Hd1:round beta fexp Zfloor (- x) = F2R d
Hd2:canonical beta fexp d

round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (round beta fexpe Zrnd_odd (- x)) = round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (- x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R
d:float beta
Hd1:round beta fexp Zfloor (- x) = F2R d
Hd2:canonical beta fexp d

generic_format beta fexp (round beta fexp Zceil (- x))
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R
d:float beta
Hd1:round beta fexp Zfloor (- x) = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil (- x) = F2R u
Hu2:canonical beta fexp u
round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (round beta fexpe Zrnd_odd (- x)) = round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (- x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R
d:float beta
Hd1:round beta fexp Zfloor (- x) = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil (- x) = F2R u
Hu2:canonical beta fexp u

round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (round beta fexpe Zrnd_odd (- x)) = round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))))) (- x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R
d:float beta
Hd1:round beta fexp Zfloor (- x) = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil (- x) = F2R u
Hu2:canonical beta fexp u

Rnd_DN_pt (generic_format beta fexp) (- x) (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R
d:float beta
Hd1:round beta fexp Zfloor (- x) = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil (- x) = F2R u
Hu2:canonical beta fexp u
Rnd_UP_pt (generic_format beta fexp) (- x) (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R
d:float beta
Hd1:round beta fexp Zfloor (- x) = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil (- x) = F2R u
Hu2:canonical beta fexp u
(0 < - x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R
d:float beta
Hd1:round beta fexp Zfloor (- x) = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil (- x) = F2R u
Hu2:canonical beta fexp u

Rnd_UP_pt (generic_format beta fexp) (- x) (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R
d:float beta
Hd1:round beta fexp Zfloor (- x) = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil (- x) = F2R u
Hu2:canonical beta fexp u
(0 < - x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x < 0)%R
d:float beta
Hd1:round beta fexp Zfloor (- x) = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil (- x) = F2R u
Hu2:canonical beta fexp u

(0 < - x)%R
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:x = 0%R

round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
(* . *)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R

round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
(* . *)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R

generic_format beta fexp (round beta fexp Zfloor x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
d:float beta
Hd1:round beta fexp Zfloor x = F2R d
Hd2:canonical beta fexp d
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
d:float beta
Hd1:round beta fexp Zfloor x = F2R d
Hd2:canonical beta fexp d

round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
d:float beta
Hd1:round beta fexp Zfloor x = F2R d
Hd2:canonical beta fexp d

generic_format beta fexp (round beta fexp Zceil x)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
d:float beta
Hd1:round beta fexp Zfloor x = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil x = F2R u
Hu2:canonical beta fexp u
round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
d:float beta
Hd1:round beta fexp Zfloor x = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil x = F2R u
Hu2:canonical beta fexp u

round beta fexp (Znearest choice) (round beta fexpe Zrnd_odd x) = round beta fexp (Znearest choice) x
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
d:float beta
Hd1:round beta fexp Zfloor x = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil x = F2R u
Hu2:canonical beta fexp u

Rnd_DN_pt (generic_format beta fexp) x (F2R d)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
d:float beta
Hd1:round beta fexp Zfloor x = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil x = F2R u
Hu2:canonical beta fexp u
Rnd_UP_pt (generic_format beta fexp) x (F2R u)
beta:radix
Even_beta:Z.even beta = true
fexp, fexpe:Z -> Z
choice:Z -> bool
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE beta fexp
valid_expe:Valid_exp fexpe
exists_NE_e:Exists_NE beta fexpe
fexpe_fexp:forall e : Z, (fexpe e <= fexp e - 2)%Z
x:R
H:(x > 0)%R
d:float beta
Hd1:round beta fexp Zfloor x = F2R d
Hd2:canonical beta fexp d
u:float beta
Hu1:round beta fexp Zceil x = F2R u
Hu2:canonical beta fexp u

Rnd_UP_pt (generic_format beta fexp) x (F2R u)
rewrite <- Hu1; apply round_UP_pt... Qed. End Odd_prop. Section Odd_propbis. Variable beta : radix. Hypothesis Even_beta: Z.even (radix_val beta)=true. Variable emin prec:Z. Variable choice:Z->bool. Hypothesis prec_gt_1: (1 < prec)%Z. Notation format := (generic_format beta (FLT_exp emin prec)). Notation round_flt :=(round beta (FLT_exp emin prec) (Znearest choice)). Notation cexp_flt := (cexp beta (FLT_exp emin prec)). Notation fexpe k := (FLT_exp (emin-k) (prec+k)).
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z

forall x y : R, (exists n e : Z, x = (IZR n * bpow beta e)%R /\ (1 <= e)%Z) -> IZR (Zrnd_odd (x + y)) = (x + IZR (Zrnd_odd y))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z

forall x y : R, (exists n e : Z, x = (IZR n * bpow beta e)%R /\ (1 <= e)%Z) -> IZR (Zrnd_odd (x + y)) = (x + IZR (Zrnd_odd y))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

IZR (Zrnd_odd (x + y)) = (x + IZR (Zrnd_odd y))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

x = IZR (Zfloor x)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z
Z.even (Zfloor x) = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

(IZR n * bpow beta e)%R = IZR (Zfloor (IZR n * bpow beta e))
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z
Z.even (Zfloor x) = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

(IZR n * IZR (beta ^ e))%R = IZR (Zfloor (IZR n * IZR (beta ^ e)))
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z
(0 <= e)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z
Z.even (Zfloor x) = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

(IZR n * IZR (beta ^ e))%R = IZR (Zfloor (IZR n * IZR (beta ^ e)))
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z
Z.even (Zfloor x) = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

Z.even (Zfloor x) = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

Z.even (Zfloor (IZR n * IZR (beta ^ e))) = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z
(0 <= e)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

Z.even (Zfloor (IZR n * IZR (beta ^ e))) = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

Z.even (n * beta ^ e) = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

(Z.even n || Z.even (beta ^ e))%bool = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

(Z.even n || Z.even beta)%bool = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z
(0 < e)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

(Z.even n || Z.even beta)%bool = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x, y:R
n, e:Z
H1:x = (IZR n * bpow beta e)%R
H2:(1 <= e)%Z

(Z.even n || true)%bool = true
apply Bool.orb_true_iff; now right. Qed.
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z

forall x : R, (emin < mag beta x)%Z -> mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) = mag beta x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z

forall x : R, (emin < mag beta x)%Z -> mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) = mag beta x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R

(emin < mag beta x)%Z -> mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) = mag beta x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R

Prec_gt_0 prec
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
(emin < mag beta x)%Z -> mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) = mag beta x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec

(emin < mag beta x)%Z -> mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) = mag beta x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x = 0%R

(emin < mag beta x)%Z -> mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) = mag beta x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
(emin < mag beta x)%Z -> mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) = mag beta x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R

(emin < mag beta x)%Z -> mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) = mag beta x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z

mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) = e
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z

(bpow beta (e - 1) <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z

format (bpow beta (e - 1))
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
(bpow beta (e - 1) <= Rabs x)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z

(emin <= e - 1)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
(bpow beta (e - 1) <= Rabs x)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z

(bpow beta (e - 1) <= Rabs x)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z

format (bpow beta e)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
(Rabs x <= bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z

(emin <= e)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
(Rabs x <= bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z

(Rabs x <= bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e

Rnd_odd_pt beta (FLT_exp emin prec) x (round beta (FLT_exp emin prec) Zrnd_odd x)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_odd_pt beta (FLT_exp emin prec) x (round beta (FLT_exp emin prec) Zrnd_odd x)
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_odd_pt beta (FLT_exp emin prec) x (round beta (FLT_exp emin prec) Zrnd_odd x)

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:round beta (FLT_exp emin prec) Zrnd_odd x = x

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:round beta (FLT_exp emin prec) Zrnd_odd x = x

~ (Rabs x < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:round beta (FLT_exp emin prec) Zrnd_odd x = x
(Rabs x < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:round beta (FLT_exp emin prec) Zrnd_odd x = x

bpow beta e = Rabs x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:round beta (FLT_exp emin prec) Zrnd_odd x = x
(Rabs x < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:round beta (FLT_exp emin prec) Zrnd_odd x = x

(Rabs x < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta

F2R gg = bpow beta e
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta

(IZR (beta ^ (e - FLT_exp emin prec (e + 1))) * bpow beta (FLT_exp emin prec (e + 1)))%R = bpow beta e
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta

(bpow beta (e - FLT_exp emin prec (e + 1)) * bpow beta (FLT_exp emin prec (e + 1)))%R = bpow beta e
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
(0 <= e - FLT_exp emin prec (e + 1))%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta

bpow beta (e - FLT_exp emin prec (e + 1) + FLT_exp emin prec (e + 1)) = bpow beta e
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
(0 <= e - FLT_exp emin prec (e + 1))%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta

(0 <= e - FLT_exp emin prec (e + 1))%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta

(FLT_exp emin prec (e + 1) <= e)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta

(Z.max (e + 1 - prec) emin <= e)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e

canonical beta (FLT_exp emin prec) gg
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e

FLT_exp emin prec (e + 1) = cexp_flt (bpow beta e)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg

Fnum gg = Z.abs (Fnum g)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg

Fnum gg = Fnum (Fabs g)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Fnum (Fabs g) = Z.abs (Fnum g)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg

Fnum gg = Fnum (Fabs g)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg

gg = Fabs g
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg

canonical beta (FLT_exp emin prec) (Fabs g)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
F2R gg = F2R (Fabs g)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg

F2R gg = F2R (Fabs g)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)

Z.even (Fnum gg) = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
Y4:Z.even (Fnum gg) = true
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)

Z.even (beta ^ (e - FLT_exp emin prec (e + 1))) = true
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
Y4:Z.even (Fnum gg) = true
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)

(0 < e - FLT_exp emin prec (e + 1))%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
Y4:Z.even (Fnum gg) = true
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)

(FLT_exp emin prec (e + 1) < e)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
Y4:Z.even (Fnum gg) = true
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)

(Z.max (e + 1 - prec) emin < e)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
Y4:Z.even (Fnum gg) = true
(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
Y4:Z.even (Fnum gg) = true

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
Y4:Z.even (Fnum gg) = true

true <> false
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
Y4:Z.even (Fnum gg) = true
true = false
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
Y4:Z.even (Fnum gg) = true

true = false
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
Y4:Z.even (Fnum gg) = true

true = Z.even (Fnum g)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
T:Prec_gt_0 prec
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(emin < e)%Z
V:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta e)%R
K:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta e
H0:Rnd_DN_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x) \/ Rnd_UP_pt format x (round beta (FLT_exp emin prec) Zrnd_odd x)
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
gg:={| Fnum := beta ^ (e - FLT_exp emin prec (e + 1)); Fexp := FLT_exp emin prec (e + 1) |}:float beta
Y1:F2R gg = bpow beta e
Y2:canonical beta (FLT_exp emin prec) gg
Y3:Fnum gg = Z.abs (Fnum g)
Y4:Z.even (Fnum gg) = true

true = Z.even (Z.abs (Fnum g))
now rewrite <- Y3. Qed.
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z

forall x : R, cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z

forall x : R, cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R

cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R

Valid_exp (FLT_exp emin prec)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)

cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x = 0%R

cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R

cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R

(mag beta x <= emin)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R

(e <= emin)%Z -> FLT_exp emin prec (mag beta (round beta (FLT_exp emin prec) Zrnd_odd x)) = FLT_exp emin prec e
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z

FLT_exp emin prec (mag beta (round beta (FLT_exp emin prec) Zrnd_odd x)) = Z.max (e - prec) emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z

FLT_exp emin prec (mag beta (round beta (FLT_exp emin prec) Zrnd_odd x)) = emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
(e - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z

FLT_exp emin prec (mag beta (round beta (FLT_exp emin prec) Zrnd_odd x)) = emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z

(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z

Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z

(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z

format (bpow beta emin)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
(Rabs x <= bpow beta emin)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z

(FLT_exp emin prec emin <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
(Rabs x <= bpow beta emin)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z

(Rabs x <= bpow beta emin)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z

(Rabs x < bpow beta e)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
(bpow beta e <= bpow beta emin)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z

(bpow beta e <= bpow beta emin)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R

Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R

(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R

Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R

Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R

Rnd_odd_pt beta (FLT_exp emin prec) x (round beta (FLT_exp emin prec) Zrnd_odd x)
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
H0:Rnd_odd_pt beta (FLT_exp emin prec) x (round beta (FLT_exp emin prec) Zrnd_odd x)
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
H0:Rnd_odd_pt beta (FLT_exp emin prec) x (round beta (FLT_exp emin prec) Zrnd_odd x)

Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
H0:round beta (FLT_exp emin prec) Zrnd_odd x = x

Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
H0:round beta (FLT_exp emin prec) Zrnd_odd x = x

(Rabs x > 0)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
H0:round beta (FLT_exp emin prec) Zrnd_odd x = x

(0 < bpow beta (e - 1))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
H0:round beta (FLT_exp emin prec) Zrnd_odd x = x
(bpow beta (e - 1) <= Rabs x)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
H0:round beta (FLT_exp emin prec) Zrnd_odd x = x

(bpow beta (e - 1) <= Rabs x)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false

Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
Hg3:Z.even (Fnum g) = false
K:Rabs (F2R g) = 0%R

False
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
K:Rabs (F2R g) = 0%R

Z.even (Fnum g) <> false
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
K:Rabs (F2R g) = 0%R

Z.even 0 <> false
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
K:Rabs (F2R g) = 0%R
0%Z = Fnum g
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
K:Rabs (F2R g) = 0%R

0%Z = Fnum g
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
K:Rabs (F2R g) = 0%R
W:Fnum g <> 0%Z

0%Z = Fnum g
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
W:Fnum g <> 0%Z

Rabs (F2R g) <> 0%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
g:float beta
Hg1:round beta (FLT_exp emin prec) Zrnd_odd x = F2R g
Hg2:canonical beta (FLT_exp emin prec) g
W:Fnum g <> 0%Z

F2R g <> 0%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R

Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R

(bpow beta emin <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R

(bpow beta emin <= succ beta (FLT_exp emin prec) 0)%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
(succ beta (FLT_exp emin prec) 0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R

bpow beta emin = ulp beta (FLT_exp emin prec) 0
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
(succ beta (FLT_exp emin prec) 0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R

Prec_gt_0 prec
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
(Rabs 0 < bpow beta (emin + prec))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
(succ beta (FLT_exp emin prec) 0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R

(Rabs 0 < bpow beta (emin + prec))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
(succ beta (FLT_exp emin prec) 0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R

(succ beta (FLT_exp emin prec) 0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R

format 0
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
format (Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
(0 < Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R

format (Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R
(0 < Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G1:(Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <= bpow beta emin)%R
G2:(0 <= Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
G3:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) <> 0%R

(0 < Rabs (round beta (FLT_exp emin prec) Zrnd_odd x))%R
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin
(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin

(mag beta (round beta (FLT_exp emin prec) Zrnd_odd x) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
e:Z
He:x <> 0%R -> (bpow beta (e - 1) <= Rabs x < bpow beta e)%R
H:(e <= emin)%Z
G:Rabs (round beta (FLT_exp emin prec) Zrnd_odd x) = bpow beta emin

(mag beta (Rabs (round beta (FLT_exp emin prec) Zrnd_odd x)) - prec <= emin)%Z
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R

(emin < mag beta x)%Z -> cexp_flt (round beta (FLT_exp emin prec) Zrnd_odd x) = cexp_flt x
beta:radix
Even_beta:Z.even beta = true
emin, prec:Z
choice:Z -> bool
prec_gt_1:(1 < prec)%Z
x:R
G0:Valid_exp (FLT_exp emin prec)
Zx:x <> 0%R
H:(emin < mag beta x)%Z

FLT_exp emin prec (mag beta (round beta (FLT_exp emin prec) Zrnd_odd x)) = FLT_exp emin prec (mag beta x)
now rewrite mag_round_odd. Qed. End Odd_propbis.