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) 2009-2018 Sylvie Boldo
Copyright (C) 2009-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 nearest, ties to even: existence, unicity...

Require Import Raux Defs Round_pred Generic_fmt Float_prop Ulp.

Notation ZnearestE := (Znearest (fun x => negb (Z.even x))).

Section Fcore_rnd_NE.

Variable beta : radix.

Notation bpow e := (bpow beta e).

Variable fexp : Z -> Z.

Context { valid_exp : Valid_exp fexp }.

Notation format := (generic_format beta fexp).
Notation canonical := (canonical beta fexp).

Definition NE_prop (_ : R) f :=
  exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = true.

Definition Rnd_NE_pt :=
  Rnd_NG_pt format NE_prop.

Definition DN_UP_parity_pos_prop :=
  forall x xd xu,
  (0 < x)%R ->
  ~ format x ->
  canonical xd ->
  canonical xu ->
  F2R xd = round beta fexp Zfloor x ->
  F2R xu = round beta fexp Zceil x ->
  Z.even (Fnum xu) = negb (Z.even (Fnum xd)).

Definition DN_UP_parity_prop :=
  forall x xd xu,
  ~ format x ->
  canonical xd ->
  canonical xu ->
  F2R xd = round beta fexp Zfloor x ->
  F2R xu = round beta fexp Zceil x ->
  Z.even (Fnum xu) = negb (Z.even (Fnum xd)).

beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp

DN_UP_parity_pos_prop -> DN_UP_parity_prop
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp

DN_UP_parity_pos_prop -> DN_UP_parity_prop
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 < x)%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:0%R = x
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 > x)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
(* . *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:0%R = x

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 > x)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:0%R = x

format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 > x)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:0%R = x

format 0
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 > x)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 > x)%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
(* . *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 > x)%R

(0 < - x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 > x)%R

(- - x < - 0)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
xd, xu:float beta
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed:Z
xu:float beta
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical xu
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

Z.even (Fnum xu) = negb (Z.even (Fnum {| Fnum := md; Fexp := ed |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

Z.even (Fnum {| Fnum := mu; Fexp := eu |}) = negb (Z.even (Fnum {| Fnum := md; Fexp := ed |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

Z.even mu = negb (Z.even md)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

negb (negb (Z.even mu)) = negb (Z.even md)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

negb (Z.even mu) = Z.even md
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

Z.even md = negb (Z.even mu)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

Z.even (- md) = negb (Z.even (- mu))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

Z.even (Fnum {| Fnum := - md; Fexp := ed |}) = negb (Z.even (Fnum {| Fnum := - mu; Fexp := eu |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

~ format (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
canonical {| Fnum := - mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
canonical {| Fnum := - md; Fexp := ed |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
H:format (- x)

False
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
canonical {| Fnum := - mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
canonical {| Fnum := - md; Fexp := ed |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
H:format (- x)

format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
canonical {| Fnum := - mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
canonical {| Fnum := - md; Fexp := ed |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
H:format (- x)

format (- - x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
canonical {| Fnum := - mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
canonical {| Fnum := - md; Fexp := ed |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

canonical {| Fnum := - mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
canonical {| Fnum := - md; Fexp := ed |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

canonical {| Fnum := - md; Fexp := ed |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

F2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

(- F2R {| Fnum := mu; Fexp := eu |})%R = (- round beta fexp Zceil x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R
F2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

F2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
Hpos:DN_UP_parity_pos_prop
x:R
md, ed, mu, eu:Z
Hfx:~ format x
Hd:canonical {| Fnum := md; Fexp := ed |}
Hu:canonical {| Fnum := mu; Fexp := eu |}
Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
Hxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
Hx:(0 > x)%R
Hx':(0 < - x)%R

(- F2R {| Fnum := md; Fexp := ed |})%R = (- round beta fexp Zfloor x)%R
now apply f_equal. Qed. Class Exists_NE := exists_NE : Z.even beta = false \/ forall e, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e). Context { exists_NE_ : Exists_NE }.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

DN_UP_parity_pos_prop
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

DN_UP_parity_pos_prop
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R

(bpow (ex - 1) <= Rabs x < bpow ex)%R -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa, Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
(* small x *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z

Fnum xd = 0%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z

F2R {| Fnum := Fnum xd; Fexp := Fexp xd |} = 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z

F2R xd = R0
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z

round beta fexp Zfloor x = R0
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

canonical {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
F2R xu = F2R {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

(fexp ex + 1)%Z = mag beta (F2R {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
F2R xu = F2R {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

(fexp ex + 1)%Z = mag beta (F2R {| Fnum := 1; Fexp := fexp ex |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
(fexp (fexp ex + 1) <= fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
F2R xu = F2R {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

(fexp (fexp ex + 1) <= fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
F2R xu = F2R {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

F2R xu = F2R {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

F2R xu = F2R {| Fnum := 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
(fexp (fexp ex + 1) <= fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

F2R xu = bpow (fexp ex)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
(fexp (fexp ex + 1) <= fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

bpow (fexp ex) = F2R xu
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
(fexp (fexp ex + 1) <= fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

bpow (fexp ex) = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
(fexp (fexp ex + 1) <= fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

round beta fexp Zceil x = bpow (fexp ex)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
(fexp (fexp ex + 1) <= fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z

(fexp (fexp ex + 1) <= fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}

Z.even (Fnum {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}) = negb (Z.even 0)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}

Z.even (Fnum {| Fnum := beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}) = negb (Z.even 0)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}

Z.even (beta ^ (fexp ex - fexp (fexp ex + 1))) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
H:Z.even beta = false

Z.even (beta ^ (fexp ex - fexp (fexp ex + 1))) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
Z.even (beta ^ (fexp ex - fexp (fexp ex + 1))) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
H:Z.even beta = false

(0 <= fexp ex - fexp (fexp ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
Z.even (beta ^ (fexp ex - fexp (fexp ex + 1))) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
H:Z.even beta = false

(fexp (fexp ex + 1) <= fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
Z.even (beta ^ (fexp ex - fexp (fexp ex + 1))) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)

Z.even (beta ^ (fexp ex - fexp (fexp ex + 1))) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)

Z.even (beta ^ (fexp ex - fexp ex)) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
(ex <= fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(ex <= fexp ex)%Z
Hd3:Fnum xd = 0%Z
Hu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)

(ex <= fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
(* large x *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(bpow (ex - 1) <= F2R xd < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(0 <= F2R xd)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(bpow (ex - 1) <= round beta fexp Zfloor x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(0 <= F2R xd)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(bpow (ex - 1) <= round beta fexp Zfloor x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(round beta fexp Zfloor x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(0 <= F2R xd)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

format (bpow (ex - 1))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(bpow (ex - 1) <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(round beta fexp Zfloor x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(0 <= F2R xd)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(fexp (ex - 1 + 1) <= ex - 1)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(bpow (ex - 1) <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(round beta fexp Zfloor x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(0 <= F2R xd)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(fexp ex <= ex - 1)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(bpow (ex - 1) <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(round beta fexp Zfloor x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(0 <= F2R xd)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(bpow (ex - 1) <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(round beta fexp Zfloor x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(0 <= F2R xd)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(round beta fexp Zfloor x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(0 <= F2R xd)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(round beta fexp Zfloor x <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(0 <= F2R xd)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(0 <= F2R xd)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(0 <= round beta fexp Zfloor x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

format 0
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
(0 <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z

(0 <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z

F2R xu = (F2R xd + ulp beta fexp x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z

round beta fexp Zceil x = (round beta fexp Zfloor x + ulp beta fexp x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex < F2R xu)%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
(* - xu > bpow ex *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex < F2R xu)%R

(F2R xu <= bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex < F2R xu)%R

(round beta fexp Zceil x <= bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
(* - xu = bpow ex *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu

xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu

canonical {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
F2R xu = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu

(ex + 1)%Z = mag beta (F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
F2R xu = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu

(ex + 1)%Z = mag beta (F2R {| Fnum := 1; Fexp := ex |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
(fexp (ex + 1) <= ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
F2R xu = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu

(fexp (ex + 1) <= ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
F2R xu = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu

F2R xu = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu

bpow ex = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu

F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |} = bpow ex
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu

F2R {| Fnum := 1; Fexp := ex |} = bpow ex
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
(fexp (ex + 1) <= ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu

(fexp (ex + 1) <= ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = (IZR (Fnum {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}) * bpow (Fexp {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = (IZR (beta ^ (ex - fexp ex) - 1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = ((IZR (beta ^ (ex - fexp ex)) - 1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = ((IZR (beta ^ (ex - fexp ex)) + - (1)) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = (IZR (beta ^ (ex - fexp ex)) * bpow (fexp ex) + - (1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = (bpow (ex - fexp ex + fexp ex) + - (1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = (bpow ex + - (1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = (F2R xd + ulp beta fexp x + - (1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = (F2R xd + bpow (cexp beta fexp x) + - (1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = (F2R xd + bpow (fexp (mag beta x)) + - (1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = (F2R xd + bpow (fexp ex) + - (1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(bpow (ex - 1) <= Rabs x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = (IZR (Fnum xd) * bpow (Fexp xd) + bpow (fexp ex) + - (1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(bpow (ex - 1) <= Rabs x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(IZR (Fnum xd) * bpow (Fexp xd))%R = (IZR (Fnum xd) * bpow (Fexp xd) + bpow (fexp ex) + - (1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(bpow (ex - 1) <= Rabs x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(bpow (ex - 1) <= Rabs x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(bpow (ex - 1) <= x < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(0 <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}

(fexp ex <= ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

canonical {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

ex = mag beta (F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

ex = mag beta (F2R xd)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
H:F2R xd = F2R {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

mag beta (F2R xd) = ex
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (Fnum {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}) = negb (Z.even (Fnum {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (1 * beta ^ (ex - fexp (ex + 1))) = negb (Z.even (beta ^ (ex - fexp ex) - 1))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

(Z.even 1 || Z.even (beta ^ (ex - fexp (ex + 1))))%bool = negb (Z.even (beta ^ (ex - fexp ex) - 1))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (beta ^ (ex - fexp (ex + 1))) = negb (Z.even (beta ^ (ex - fexp ex) - 1))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (beta ^ (ex - fexp (ex + 1))) = negb (Z.even (beta ^ (ex - fexp ex) + - (1)))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (beta ^ (ex - fexp (ex + 1))) = negb (Bool.eqb (Z.even (beta ^ (ex - fexp ex))) (Z.even (- (1))))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (beta ^ (ex - fexp (ex + 1))) = negb (Bool.eqb (Z.even (- (1))) (Z.even (beta ^ (ex - fexp ex))))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (beta ^ (ex - fexp (ex + 1))) = negb (if Z.even (beta ^ (ex - fexp ex)) then false else true)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (beta ^ (ex - fexp (ex + 1))) = negb (negb (Z.even (beta ^ (ex - fexp ex))))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (beta ^ (ex - fexp (ex + 1))) = Z.even (beta ^ (ex - fexp ex))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (beta ^ (ex - fexp (ex + 1))) = Z.even beta
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
(0 < ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}

Z.even (beta ^ (ex - fexp (ex + 1))) = Z.even beta
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
H:Z.even beta = false

Z.even (beta ^ (ex - fexp (ex + 1))) = Z.even beta
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
Z.even (beta ^ (ex - fexp (ex + 1))) = Z.even beta
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
H:Z.even beta = false

Z.even (beta ^ (ex - fexp (ex + 1))) = false
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
Z.even (beta ^ (ex - fexp (ex + 1))) = Z.even beta
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
H:Z.even beta = false

(0 <= ex - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
Z.even (beta ^ (ex - fexp (ex + 1))) = Z.even beta
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)

Z.even (beta ^ (ex - fexp (ex + 1))) = Z.even beta
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
H:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)

(0 < ex - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:bpow ex = F2R xu
Hu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}
Hd3:xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}
H:((fexp ex < ex)%Z -> (fexp (ex + 1) < ex)%Z) /\ ((ex <= fexp ex)%Z -> fexp (fexp ex + 1) = fexp ex)

(0 < ex - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R
Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hud:F2R xu = (F2R xd + ulp beta fexp x)%R
Hu2:(bpow ex > F2R xu)%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
(* - xu < bpow ex *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

F2R xu = (F2R xd + ulp beta fexp x)%R -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

F2R xu = (F2R xd + bpow (cexp beta fexp x))%R -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(IZR (Fnum xu) * bpow (Fexp xu))%R = (IZR (Fnum xd) * bpow (Fexp xd) + bpow (cexp beta fexp x))%R -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(IZR (Fnum xu) * bpow (cexp beta fexp (F2R xu)))%R = (IZR (Fnum xd) * bpow (cexp beta fexp (F2R xd)) + bpow (cexp beta fexp x))%R -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(IZR (Fnum xu) * bpow (fexp (mag beta (F2R xu))))%R = (IZR (Fnum xd) * bpow (fexp (mag beta (F2R xd))) + bpow (fexp (mag beta x)))%R -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp (mag beta (F2R xd))) + bpow (fexp (mag beta x)))%R -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp (mag beta x)))%R -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

Z.even (Fnum xu) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

Z.even (Fnum xd + 1) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R
(Fnum xd + 1)%Z = Fnum xu
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

Bool.eqb (Z.even (Fnum xd)) (Z.even 1) = negb (Z.even (Fnum xd))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R
(Fnum xd + 1)%Z = Fnum xu
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

(Fnum xd + 1)%Z = Fnum xu
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

Fnum xu = (Fnum xd + 1)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

IZR (Fnum xu) = IZR (Fnum xd + 1)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

IZR (Fnum xu) = (IZR (Fnum xd) + 1)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

(IZR (Fnum xu) * bpow (fexp ex))%R = ((IZR (Fnum xd) + 1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R
bpow (fexp ex) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

(IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R = ((IZR (Fnum xd) + 1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R
bpow (fexp ex) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

(IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R = ((IZR (Fnum xd) + 1) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R
bpow (fexp ex) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

bpow (fexp ex) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
H:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R

(bpow (fexp ex) > 0)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(bpow (ex - 1) <= F2R xu < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(0 <= F2R xu)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(bpow (ex - 1) <= F2R xu)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(F2R xu < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(0 <= F2R xu)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(x <= F2R xu)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(F2R xu < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(0 <= F2R xu)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(x <= round beta fexp Zceil x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(F2R xu < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(0 <= F2R xu)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(F2R xu < bpow ex)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R
(0 <= F2R xu)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(0 <= F2R xu)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(0 < F2R xu)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(x <= F2R xu)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
xd, xu:float beta
H0x:(0 < x)%R
Hfx:~ format x
Hd:canonical xd
Hu:canonical xu
Hxd:F2R xd = round beta fexp Zfloor x
Hxu:F2R xu = round beta fexp Zceil x
ex:Z
Hexa:(bpow (ex - 1) <= Rabs x < bpow ex)%R
Hex:(bpow (ex - 1) <= x < bpow ex)%R
Hxe:(fexp ex < ex)%Z
Hd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%R
Hxe2:(fexp (ex + 1) <= ex)%Z
Hu2:(bpow ex > F2R xu)%R

(x <= round beta fexp Zceil x)%R
apply (round_UP_pt beta fexp x). Qed.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

DN_UP_parity_prop
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

DN_UP_parity_prop
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

DN_UP_parity_pos_prop
apply DN_UP_parity_generic_pos. Qed.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

round_pred_total Rnd_NE_pt
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

round_pred_total Rnd_NE_pt
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

satisfies_any format
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
NG_existence_prop format NE_prop
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

NG_existence_prop format NE_prop
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u

NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u

format d -> NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u

d = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp d); Fexp := cexp beta fexp d |} -> NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z

d = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp d); Fexp := ed |} -> NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z

d = F2R {| Fnum := md; Fexp := ed |} -> NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}

NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
He:Z.even md = true

NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
He:Z.even md = true

NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
He:Z.even md = true

d = F2R {| Fnum := md; Fexp := ed |} /\ canonical {| Fnum := md; Fexp := ed |} /\ Z.even (Fnum {| Fnum := md; Fexp := ed |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
He:Z.even md = true

d = F2R {| Fnum := md; Fexp := ed |} /\ Fexp {| Fnum := md; Fexp := ed |} = cexp beta fexp (F2R {| Fnum := md; Fexp := ed |}) /\ Z.even (Fnum {| Fnum := md; Fexp := ed |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
He:Z.even md = true

d = d /\ Fexp {| Fnum := md; Fexp := ed |} = cexp beta fexp d /\ Z.even (Fnum {| Fnum := md; Fexp := ed |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false

NE_prop x u \/ NE_prop x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false

NE_prop x u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false

format u -> NE_prop x u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false

u = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp u); Fexp := cexp beta fexp u |} -> NE_prop x u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z

u = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp u); Fexp := eu |} -> NE_prop x u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z

u = F2R {| Fnum := mu; Fexp := eu |} -> NE_prop x u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

NE_prop x u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

NE_prop x (F2R {| Fnum := mu; Fexp := eu |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

canonical {| Fnum := mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
Z.even (Fnum {| Fnum := mu; Fexp := eu |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

Fexp {| Fnum := mu; Fexp := eu |} = cexp beta fexp (F2R {| Fnum := mu; Fexp := eu |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
Z.even (Fnum {| Fnum := mu; Fexp := eu |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

Z.even (Fnum {| Fnum := mu; Fexp := eu |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

negb (Z.even (Fnum {| Fnum := md; Fexp := ed |})) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
~ format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
canonical {| Fnum := md; Fexp := ed |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
canonical {| Fnum := mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

negb (Z.even md) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
~ format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
canonical {| Fnum := md; Fexp := ed |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
canonical {| Fnum := mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

~ format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
canonical {| Fnum := md; Fexp := ed |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
canonical {| Fnum := mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

canonical {| Fnum := md; Fexp := ed |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
canonical {| Fnum := mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

Fexp {| Fnum := md; Fexp := ed |} = cexp beta fexp (F2R {| Fnum := md; Fexp := ed |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
canonical {| Fnum := mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

canonical {| Fnum := mu; Fexp := eu |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

Fexp {| Fnum := mu; Fexp := eu |} = cexp beta fexp (F2R {| Fnum := mu; Fexp := eu |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

d = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

Rnd_DN_pt format x (round beta fexp Zfloor x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}
F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

u = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hf:~ format x
Hd:Rnd_DN_pt format x d
Hu:Rnd_UP_pt format x u
ed:=cexp beta fexp d:Z
md:=Ztrunc (scaled_mantissa beta fexp d):Z
Hd1:d = F2R {| Fnum := md; Fexp := ed |}
Ho:Z.even md = false
eu:=cexp beta fexp u:Z
mu:=Ztrunc (scaled_mantissa beta fexp u):Z
Hu1:u = F2R {| Fnum := mu; Fexp := eu |}

Rnd_UP_pt format x (round beta fexp Zceil x)
now apply round_UP_pt. Qed.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

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

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

Rnd_NG_pt_unique_prop format NE_prop
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true

d = u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x = d

d = u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
d = u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x = d

x = u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
d = u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x = d

u = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
d = u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x = d

format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
d = u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x = d

format d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
d = u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d

d = u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ negb (Z.even (Fnum cd)) = true
Hx:x <> d

d = u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
~ format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cd = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cu = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d

~ format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cd = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cu = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
Hf:format x

False
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cd = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cu = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
Hf:format x

x = d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cd = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cu = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
Hf:format x

d = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cd = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cu = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d

F2R cd = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cu = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d

d = round beta fexp Zfloor x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cu = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d

Rnd_DN_pt format x (round beta fexp Zfloor x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d
F2R cu = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d

F2R cu = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d

u = round beta fexp Zceil x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x, d, u:R
Hd:Rnd_DN_pt format x d
Hdn:Rnd_N_pt format x d
Hu:Rnd_UP_pt format x u
Hun:Rnd_N_pt format x u
cd:float beta
Hd1:d = F2R cd
Hd2:canonical cd /\ Z.even (Fnum cd) = true
cu:float beta
Hu1:u = F2R cu
Hu2:canonical cu /\ Z.even (Fnum cu) = true
Hx:x <> d

Rnd_UP_pt format x (round beta fexp Zceil x)
now apply round_UP_pt. Qed.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

round_pred Rnd_NE_pt
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

round_pred Rnd_NE_pt
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

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

round_pred_monotone Rnd_NE_pt
apply Rnd_NE_pt_monotone. Qed.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

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

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

Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R

Rnd_N_pt format x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
NE_prop x (round beta fexp ZnearestE x) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R

NE_prop x (round beta fexp ZnearestE x) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R

(exists g : float beta, round beta fexp ZnearestE x = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R

(exists g : float beta, round beta fexp ZnearestE x = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R

(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
(* midpoint *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

xr = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |} /\ canonical {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |} /\ Z.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

xr = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
canonical {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |} /\ Z.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

canonical {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |} /\ Z.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

canonical {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Z.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

Fexp {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |} = cexp beta fexp (F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Z.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

cexp beta fexp xr = cexp beta fexp (F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |})
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Z.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

xr = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Z.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

Z.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

Z.even (Ztrunc (scaled_mantissa beta fexp xr)) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := match Rcompare (scaled_mantissa beta fexp x - IZR (Zfloor (scaled_mantissa beta fexp x))) (/ 2) with | Eq => if negb (Z.even (Zfloor (scaled_mantissa beta fexp x))) then Zceil (scaled_mantissa beta fexp x) else Zfloor (scaled_mantissa beta fexp x) | Lt => Zfloor (scaled_mantissa beta fexp x) | Gt => Zceil (scaled_mantissa beta fexp x) end; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := match Rcompare (mx - IZR (Zfloor mx)) (/ 2) with | Eq => if negb (Z.even (Zfloor mx)) then Zceil mx else Zfloor mx | Lt => Zfloor mx | Gt => Zceil mx end; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := match Rcompare (/ 2) (/ 2) with | Eq => if negb (Z.even (Zfloor mx)) then Zceil mx else Zfloor mx | Lt => Zfloor mx | Gt => Zceil mx end; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb (Z.even (Zfloor mx)) then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
(/ 2)%R = (/ 2)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb (Z.even (Zfloor mx)) then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true

Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb true then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
(* . even floor *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(round beta fexp Zfloor x <= 0)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(0 < round beta fexp Zfloor x)%R
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(round beta fexp Zfloor x <= 0)%R

Z.even (Ztrunc (scaled_mantissa beta fexp 0)) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(round beta fexp Zfloor x <= 0)%R
(0 <= round beta fexp Zfloor x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(0 < round beta fexp Zfloor x)%R
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(round beta fexp Zfloor x <= 0)%R

Z.even (Ztrunc (0 * bpow (- cexp beta fexp 0))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(round beta fexp Zfloor x <= 0)%R
(0 <= round beta fexp Zfloor x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(0 < round beta fexp Zfloor x)%R
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(round beta fexp Zfloor x <= 0)%R

Z.even (Ztrunc 0) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(round beta fexp Zfloor x <= 0)%R
(0 <= round beta fexp Zfloor x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(0 < round beta fexp Zfloor x)%R
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(round beta fexp Zfloor x <= 0)%R

(0 <= round beta fexp Zfloor x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(0 < round beta fexp Zfloor x)%R
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(round beta fexp Zfloor x <= 0)%R

(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
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(0 < round beta fexp Zfloor x)%R
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(round beta fexp Zfloor x <= 0)%R

(0 <= x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(0 < round beta fexp Zfloor x)%R
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(0 < round beta fexp Zfloor x)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = true
Hr:(0 < round beta fexp Zfloor x)%R

Z.even (Ztrunc (IZR (Zfloor (scaled_mantissa beta fexp x)))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false

Z.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
(* . odd floor *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
(* .. large pos *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R

Zceil mx = (Zfloor mx + 1)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R

IZR (Zfloor mx) <> mx
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
H:IZR (Zfloor mx) = mx

False
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - mx)%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
H:IZR (Zfloor mx) = mx

False
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx + - mx)%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
H:IZR (Zfloor mx) = mx

False
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:0%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
H:IZR (Zfloor mx) = mx

False
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:0%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
H:IZR (Zfloor mx) = mx

(0 < 0)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:0%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
H:IZR (Zfloor mx) = mx

(0 < / 2)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:0%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
H:IZR (Zfloor mx) = mx

(0 < 2)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':(round beta fexp Zceil x < bpow ex)%R

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
(* ... u <> bpow *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':(round beta fexp Zceil x < bpow ex)%R

Z.even (Ztrunc (round beta fexp Zceil x * bpow (- cexp beta fexp (round beta fexp Zceil x)))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':(round beta fexp Zceil x < bpow ex)%R

Z.even (Ztrunc (round beta fexp Zceil x * bpow (- fexp ex))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':(round beta fexp Zceil x < bpow ex)%R

Z.even (Ztrunc (IZR (Fnum {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (Fexp {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (- fexp ex))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':(round beta fexp Zceil x < bpow ex)%R

Z.even (Ztrunc (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) * bpow (- fexp ex))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':(round beta fexp Zceil x < bpow ex)%R

Z.even (Ztrunc (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (fexp ex) * bpow (- fexp ex))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':(round beta fexp Zceil x < bpow ex)%R

Z.even (Ztrunc (IZR (Zceil (scaled_mantissa beta fexp x)))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':(round beta fexp Zceil x < bpow ex)%R

Z.even (Zceil (scaled_mantissa beta fexp x)) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':(round beta fexp Zceil x < bpow ex)%R

Z.even (Zceil mx) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':(round beta fexp Zceil x < bpow ex)%R

Z.even (Zfloor mx + 1) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
(* ... u = bpow *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex

Z.even (Ztrunc (scaled_mantissa beta fexp (bpow ex))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex

Z.even (Ztrunc (bpow ex * bpow (- fexp (mag beta (bpow ex))))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex

Z.even (Ztrunc (bpow ex * bpow (- fexp (ex + 1)))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex

Z.even (Ztrunc (IZR (beta ^ (ex + - fexp (ex + 1))))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex

Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = true

Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = true
Hs:Z.even beta = false

Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = true
Hs:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = true
Hs:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)

Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = true
Hs:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
H:(fexp ex < ex)%Z -> (fexp (ex + 1) < ex)%Z

Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = true
Hs:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
H:(fexp ex < ex)%Z -> (fexp (ex + 1) < ex)%Z

Z.even beta = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = true
Hs:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
H:(fexp ex < ex)%Z -> (fexp (ex + 1) < ex)%Z
(0 < ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = true
Hs:forall e : Z, ((fexp e < e)%Z -> (fexp (e + 1) < e)%Z) /\ ((e <= fexp e)%Z -> fexp (fexp e + 1) = fexp e)
H:(fexp ex < ex)%Z -> (fexp (ex + 1) < ex)%Z

(0 < ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

Z.even (Zfloor mx) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
H:Z.even (Zfloor mx) = true
Z.even (beta ^ (ex + - fexp (ex + 1))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

Z.even (Zfloor mx) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

Z.even (Zceil mx + -1) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

Bool.eqb (Z.even (Zceil mx)) (Z.even (-1)) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

Z.even (Zceil mx) = Z.even (-1)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

Z.even (Zceil (scaled_mantissa beta fexp x)) = Z.even (-1)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

Z.even (beta ^ (ex - fexp ex)) = Z.even (-1)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
(beta ^ (ex - fexp ex))%Z = Zceil (scaled_mantissa beta fexp x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

false = Z.even (-1)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
(beta ^ (ex - fexp ex))%Z = Zceil (scaled_mantissa beta fexp x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
(beta ^ (ex - fexp ex))%Z = Zceil (scaled_mantissa beta fexp x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

(beta ^ (ex - fexp ex))%Z = Zceil (scaled_mantissa beta fexp x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

IZR (beta ^ (ex - fexp ex)) = IZR (Zceil (scaled_mantissa beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

bpow (ex - fexp ex) = IZR (Zceil (scaled_mantissa beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
(0 <= ex - fexp ex)%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

bpow (ex - fexp ex) = IZR (Zceil (scaled_mantissa beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

(bpow (ex - fexp ex) * bpow (fexp ex))%R = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
bpow (fexp ex) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

(bpow (ex + - fexp ex) * bpow (fexp ex))%R = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
bpow (fexp ex) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

(bpow ex * bpow (- fexp ex) * bpow (fexp ex))%R = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
bpow (fexp ex) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

bpow ex = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (fexp ex))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
bpow (fexp ex) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

bpow ex = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false
bpow (fexp ex) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

bpow (fexp ex) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
Hr:Z.even beta = false

(bpow (fexp ex) > 0)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex
(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex

(0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(fexp ex < ex)%Z
Hu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%R
Hfc:Zceil mx = (Zfloor mx + 1)%Z
Hu':round beta fexp Zceil x = bpow ex

(fexp (ex + 1) <= ex)%Z -> (0 <= ex + - fexp (ex + 1))%Z
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z

Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
(* .. small pos *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z

Z.even (Zfloor mx) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z
H:Z.even (Zfloor mx) = true
Z.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z

Z.even (Zfloor mx) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z

Z.even (Zfloor (x * bpow (- cexp beta fexp x))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R = (/ 2)%R
Hmx:Z.even (Zfloor mx) = false
ex:Z
Hex:(bpow (ex - 1) <= x < bpow ex)%R
He:(ex <= fexp ex)%Z

Z.even (Zfloor (x * bpow (- fexp ex))) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R

(exists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = true) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr)
(* not midpoint *)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R

forall f2 : R, Rnd_N_pt format x f2 -> f2 = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g

g = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x = g

g = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
g = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x = g

x = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
g = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x = g

xr = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
g = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x = g

format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
g = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x = g

format g
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
g = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g

g = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R

g = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R

g = xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R

Rnd_DN_pt format x d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
Rnd_UP_pt format x u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
(x - d)%R <> (u - x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
Rnd_N_pt format x xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R

Rnd_UP_pt format x u
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
(x - d)%R <> (u - x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
Rnd_N_pt format x xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R

(x - d)%R <> (u - x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
Rnd_N_pt format x xr
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R

(x - d)%R <> (u - x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R

(scaled_mantissa beta fexp x * bpow (cexp beta fexp x) - d)%R <> (u - scaled_mantissa beta fexp x * bpow (cexp beta fexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R

(scaled_mantissa beta fexp x * bpow (cexp beta fexp x) - IZR (Fnum {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (Fexp {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}))%R <> (IZR (Fnum {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (Fexp {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) - scaled_mantissa beta fexp x * bpow (cexp beta fexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R

(scaled_mantissa beta fexp x * bpow (cexp beta fexp x) - IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x))%R <> (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) - scaled_mantissa beta fexp x * bpow (cexp beta fexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R

(mx * bpow (cexp beta fexp x) - IZR (Zfloor mx) * bpow (cexp beta fexp x))%R <> (IZR (Zceil mx) * bpow (cexp beta fexp x) - mx * bpow (cexp beta fexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R

((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R <> ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R

False
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R

False
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R

(mx - IZR (Zfloor mx))%R = (/ 2)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R

Rcompare (mx - IZR (Zfloor mx)) (/ 2) = Eq
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R

Rcompare (mx - IZR (Zfloor mx)) (IZR (Zceil mx) - mx) = Eq
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R
IZR (Zfloor mx) <> mx
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R

IZR (Zfloor mx) <> mx
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R
Hxg:IZR (Zfloor mx) = mx

x = g
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R
Hxg:IZR (Zfloor mx) = mx

g = x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R
Hxg:IZR (Zfloor mx) = mx

format x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R
Hxg:IZR (Zfloor mx) = mx

format (scaled_mantissa beta fexp x * bpow (cexp beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R
Hxg:IZR (Zfloor mx) = mx

format (mx * bpow (cexp beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R
Hxg:IZR (Zfloor mx) = mx

format (IZR (Zfloor mx) * bpow (cexp beta fexp x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R
Hxg:IZR (Zfloor mx) = mx

format d
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R
bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R

bpow (cexp beta fexp x) <> 0%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(0 < x)%R
mx:=scaled_mantissa beta fexp x:R
xr:=round beta fexp ZnearestE x:R
Hm:(mx - IZR (Zfloor mx))%R <> (/ 2)%R
g:R
Hg:Rnd_N_pt format x g
Hxg:x <> g
d:=round beta fexp Zfloor x:R
u:=round beta fexp Zceil x:R
H:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%R

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

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

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

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

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

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

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

F2R {| Fnum := - Znearest (fun t : Z => negb (negb (Z.even (- (t + 1))))) (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} = (- F2R {| Fnum := ZnearestE (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R

F2R {| Fnum := - Znearest (fun t : Z => negb (negb (Z.even (- (t + 1))))) (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} = F2R {| Fnum := - ZnearestE (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R

Znearest (fun t : Z => negb (negb (Z.even (- (t + 1))))) (scaled_mantissa beta fexp x) = ZnearestE (scaled_mantissa beta fexp x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
m:=scaled_mantissa beta fexp x:R

Znearest (fun t : Z => negb (negb (Z.even (- (t + 1))))) m = ZnearestE m
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
m:=scaled_mantissa beta fexp x:R

match Rcompare (m - IZR (Zfloor m)) (/ 2) with | Eq => if negb (negb (Z.even (- (Zfloor m + 1)))) then Zceil m else Zfloor m | Lt => Zfloor m | Gt => Zceil m end = match Rcompare (m - IZR (Zfloor m)) (/ 2) with | Eq => if negb (Z.even (Zfloor m)) then Zceil m else Zfloor m | Lt => Zfloor m | Gt => Zceil m end
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
m:=scaled_mantissa beta fexp x:R

(if negb (negb (Z.even (- (Zfloor m + 1)))) then Zceil m else Zfloor m) = (if negb (Z.even (Zfloor m)) then Zceil m else Zfloor m)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
m:=scaled_mantissa beta fexp x:R

negb (negb (Z.even (- (Zfloor m + 1)))) = negb (Z.even (Zfloor m))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
m:=scaled_mantissa beta fexp x:R

Z.even (- (Zfloor m + 1)) = negb (Z.even (Zfloor m))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
m:=scaled_mantissa beta fexp x:R

Z.even (Zfloor m + 1) = negb (Z.even (Zfloor m))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
m:=scaled_mantissa beta fexp x:R

Bool.eqb (Z.even (Zfloor m)) (Z.even 1) = negb (Z.even (Zfloor m))
now rewrite eqb_sym. Qed.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

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

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

round beta fexp ZnearestE (Rabs x) = Rabs (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R

Rabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE (Rabs x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R

Rabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE (if Rcase_abs x then (- x)%R else x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

Rabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE (- x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x >= 0)%R
Rabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

Rabs (round beta fexp ZnearestE x) = (- round beta fexp ZnearestE x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x >= 0)%R
Rabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

(round beta fexp ZnearestE x <= 0)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x >= 0)%R
Rabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

(round beta fexp ZnearestE x <= round beta fexp ZnearestE 0)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x >= 0)%R
Rabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

(x <= 0)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x >= 0)%R
Rabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x >= 0)%R

Rabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE x
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x >= 0)%R

(0 <= round beta fexp ZnearestE x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x >= 0)%R

(round beta fexp ZnearestE 0 <= round beta fexp ZnearestE x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x >= 0)%R

(0 <= x)%R
now apply Rge_le. Qed.
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE

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

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

Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

forall x0 : R, format x0 -> format (- x0)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
forall x0 f : R, NE_prop x0 f -> NE_prop (- x0) (- f)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
Rnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

forall x0 f : R, NE_prop x0 f -> NE_prop (- x0) (- f)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
Rnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

R -> forall f : R, (exists g : float beta, f = F2R g /\ canonical g /\ Z.even (Fnum g) = true) -> exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
Rnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true

exists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
Rnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true

(- f)%R = F2R {| Fnum := - mg; Fexp := eg |} /\ canonical {| Fnum := - mg; Fexp := eg |} /\ Z.even (Fnum {| Fnum := - mg; Fexp := eg |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
Rnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true

(- f)%R = F2R {| Fnum := - mg; Fexp := eg |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true
canonical {| Fnum := - mg; Fexp := eg |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true
Z.even (Fnum {| Fnum := - mg; Fexp := eg |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
Rnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true

(- F2R {| Fnum := mg; Fexp := eg |})%R = F2R {| Fnum := - mg; Fexp := eg |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true
canonical {| Fnum := - mg; Fexp := eg |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true
Z.even (Fnum {| Fnum := - mg; Fexp := eg |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
Rnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true

canonical {| Fnum := - mg; Fexp := eg |}
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true
Z.even (Fnum {| Fnum := - mg; Fexp := eg |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
Rnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true

Z.even (Fnum {| Fnum := - mg; Fexp := eg |}) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
Rnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
f:R
mg, eg:Z
H1:f = F2R {| Fnum := mg; Fexp := eg |}
H2:canonical {| Fnum := mg; Fexp := eg |}
H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = true

Z.even (- mg) = true
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R
Rnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

Rnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

Rnd_NG_pt format NE_prop (- x) (round beta fexp ZnearestE (- x))
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x < 0)%R

(0 < - x)%R
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R

Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R

Rnd_NE_pt 0 0
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:x = 0%R

format 0
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R
Rnd_NE_pt x (round beta fexp ZnearestE x)
beta:radix
fexp:Z -> Z
valid_exp:Valid_exp fexp
exists_NE_:Exists_NE
x:R
Hx:(x > 0)%R

Rnd_NE_pt x (round beta fexp ZnearestE x)
now apply round_NE_pt_pos. Qed. End Fcore_rnd_NE.
Notations for backward-compatibility with Flocq 1.4.
Notation rndNE := ZnearestE (only parsing).