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.
Copyright (C) 2009-2018 Guillaume Melquiond
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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpDN_UP_parity_pos_prop -> DN_UP_parity_propbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpDN_UP_parity_pos_prop -> DN_UP_parity_propbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xZ.even (Fnum xu) = negb (Z.even (Fnum xd))(* . *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 < x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:0%R = xZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 > x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:0%R = xZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 > x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:0%R = xformat xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 > x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:0%R = xformat 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 > x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))(* . *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 > x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 > x)%R(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 > x)%R(- - x < - 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rxd, xu:float betaHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed:Zxu:float betaHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical xuHxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RZ.even (Fnum xu) = negb (Z.even (Fnum {| Fnum := md; Fexp := ed |}))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RZ.even (Fnum {| Fnum := mu; Fexp := eu |}) = negb (Z.even (Fnum {| Fnum := md; Fexp := ed |}))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RZ.even mu = negb (Z.even md)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rnegb (negb (Z.even mu)) = negb (Z.even md)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rnegb (Z.even mu) = Z.even mdbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RZ.even md = negb (Z.even mu)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RZ.even (- md) = negb (Z.even (- mu))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RZ.even (Fnum {| Fnum := - md; Fexp := ed |}) = negb (Z.even (Fnum {| Fnum := - mu; Fexp := eu |}))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%R~ format (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rcanonical {| Fnum := - mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rcanonical {| Fnum := - md; Fexp := ed |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RH:format (- x)Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rcanonical {| Fnum := - mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rcanonical {| Fnum := - md; Fexp := ed |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RH:format (- x)format xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rcanonical {| Fnum := - mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rcanonical {| Fnum := - md; Fexp := ed |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RH:format (- x)format (- - x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rcanonical {| Fnum := - mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rcanonical {| Fnum := - md; Fexp := ed |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rcanonical {| Fnum := - mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rcanonical {| Fnum := - md; Fexp := ed |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%Rcanonical {| Fnum := - md; Fexp := ed |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - mu; Fexp := eu |} = round beta fexp Zfloor (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%R(- F2R {| Fnum := mu; Fexp := eu |})%R = (- round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%RF2R {| Fnum := - md; Fexp := ed |} = round beta fexp Zceil (- x)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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHpos:DN_UP_parity_pos_propx:Rmd, ed, mu, eu:ZHfx:~ format xHd:canonical {| Fnum := md; Fexp := ed |}Hu:canonical {| Fnum := mu; Fexp := eu |}Hxd:F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xHxu:F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xHx:(0 > x)%RHx':(0 < - x)%R(- F2R {| Fnum := md; Fexp := ed |})%R = (- round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEDN_UP_parity_pos_propbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEDN_UP_parity_pos_propbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa, Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))(* small x *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZFnum xd = 0%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZF2R {| Fnum := Fnum xd; Fexp := Fexp xd |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZF2R xd = R0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%Zround beta fexp Zfloor x = R0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Zxu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Zcanonical {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZF2R xu = F2R {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZF2R xu = F2R {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Z(fexp ex + 1)%Z = mag beta (F2R {| Fnum := 1; Fexp := fexp ex |})beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Z(fexp (fexp ex + 1) <= fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZF2R xu = F2R {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Z(fexp (fexp ex + 1) <= fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZF2R xu = F2R {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZF2R xu = F2R {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZF2R xu = F2R {| Fnum := 1; Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Z(fexp (fexp ex + 1) <= fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZF2R xu = bpow (fexp ex)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Z(fexp (fexp ex + 1) <= fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Zbpow (fexp ex) = F2R xubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Z(fexp (fexp ex + 1) <= fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Zbpow (fexp ex) = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Z(fexp (fexp ex + 1) <= fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Zround beta fexp Zceil x = bpow (fexp ex)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Z(fexp (fexp ex + 1) <= fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%Z(fexp (fexp ex + 1) <= fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}Z.even (beta ^ (fexp ex - fexp (fexp ex + 1))) = falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3:xu = {| Fnum := 1 * beta ^ (fexp ex - fexp (fexp ex + 1)); Fexp := fexp (fexp ex + 1) |}H:Z.even beta = falseZ.even (beta ^ (fexp ex - fexp (fexp ex + 1))) = falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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))) = falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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))) = falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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))) = falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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))) = falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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)) = falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(ex <= fexp ex)%ZHd3:Fnum xd = 0%ZHu3: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)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))(* large x *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(bpow (ex - 1) <= F2R xd < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= F2R xd)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(bpow (ex - 1) <= round beta fexp Zfloor x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= F2R xd)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(bpow (ex - 1) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(round beta fexp Zfloor x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= F2R xd)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Zformat (bpow (ex - 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(bpow (ex - 1) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(round beta fexp Zfloor x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= F2R xd)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(fexp (ex - 1 + 1) <= ex - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(bpow (ex - 1) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(round beta fexp Zfloor x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= F2R xd)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(fexp ex <= ex - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(bpow (ex - 1) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(round beta fexp Zfloor x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= F2R xd)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(bpow (ex - 1) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(round beta fexp Zfloor x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= F2R xd)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(round beta fexp Zfloor x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= F2R xd)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(round beta fexp Zfloor x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= F2R xd)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= F2R xd)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Zformat 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%Z(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZF2R xu = (F2R xd + ulp beta fexp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%Zround beta fexp Zceil x = (round beta fexp Zfloor x + ulp beta fexp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))(* - xu > bpow ex *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex < F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex < F2R xu)%R(F2R xu <= bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex < F2R xu)%R(round beta fexp Zceil x <= bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))(* - xu = bpow ex *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuxu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xucanonical {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuF2R xu = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xu(ex + 1)%Z = mag beta (F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |})beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuF2R xu = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xu(ex + 1)%Z = mag beta (F2R {| Fnum := 1; Fexp := ex |})beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xu(fexp (ex + 1) <= ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuF2R xu = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xu(fexp (ex + 1) <= ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuF2R xu = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuF2R xu = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xubpow ex = F2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuF2R {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |} = bpow exbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuF2R {| Fnum := 1; Fexp := ex |} = bpow exbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xu(fexp (ex + 1) <= ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xu(fexp (ex + 1) <= ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}xd = {| Fnum := beta ^ (ex - fexp ex) - 1; Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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 |}))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(bpow (ex - 1) <= Rabs x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(bpow (ex - 1) <= Rabs x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(bpow (ex - 1) <= Rabs x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(bpow (ex - 1) <= Rabs x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(bpow (ex - 1) <= x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3:xu = {| Fnum := 1 * beta ^ (ex - fexp (ex + 1)); Fexp := fexp (ex + 1) |}(fexp ex <= ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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) = exbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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 betabeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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 betabeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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 = falseZ.even (beta ^ (ex - fexp (ex + 1))) = Z.even betabeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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 betabeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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 = falseZ.even (beta ^ (ex - fexp (ex + 1))) = falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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 betabeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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 betabeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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 betabeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:bpow ex = F2R xuHu3: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))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))(* - xu < bpow ex *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHud:F2R xu = (F2R xd + ulp beta fexp x)%RHu2:(bpow ex > F2R xu)%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RF2R xu = (F2R xd + ulp beta fexp x)%R -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RF2R xu = (F2R xd + bpow (cexp beta fexp x))%R -> Z.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%RZ.even (Fnum xu) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%RZ.even (Fnum xd + 1) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R(Fnum xd + 1)%Z = Fnum xubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%RBool.eqb (Z.even (Fnum xd)) (Z.even 1) = negb (Z.even (Fnum xd))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R(Fnum xd + 1)%Z = Fnum xubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R(Fnum xd + 1)%Z = Fnum xubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%RFnum xu = (Fnum xd + 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%RIZR (Fnum xu) = IZR (Fnum xd + 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%RIZR (Fnum xu) = (IZR (Fnum xd) + 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%Rbpow (fexp ex) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%Rbpow (fexp ex) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%Rbpow (fexp ex) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%Rbpow (fexp ex) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%RH:(IZR (Fnum xu) * bpow (fexp ex))%R = (IZR (Fnum xd) * bpow (fexp ex) + bpow (fexp ex))%R(bpow (fexp ex) > 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= Rabs (F2R xu) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= F2R xu < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(0 <= F2R xu)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(bpow (ex - 1) <= F2R xu)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(F2R xu < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(0 <= F2R xu)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(x <= F2R xu)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(F2R xu < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(0 <= F2R xu)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(x <= round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(F2R xu < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(0 <= F2R xu)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(F2R xu < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(0 <= F2R xu)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(0 <= F2R xu)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(0 < F2R xu)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(x <= F2R xu)%Rapply (round_UP_pt beta fexp x). Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rxd, xu:float betaH0x:(0 < x)%RHfx:~ format xHd:canonical xdHu:canonical xuHxd:F2R xd = round beta fexp Zfloor xHxu:F2R xu = round beta fexp Zceil xex:ZHexa:(bpow (ex - 1) <= Rabs x < bpow ex)%RHex:(bpow (ex - 1) <= x < bpow ex)%RHxe:(fexp ex < ex)%ZHd4:(bpow (ex - 1) <= Rabs (F2R xd) < bpow ex)%RHxe2:(fexp (ex + 1) <= ex)%ZHu2:(bpow ex > F2R xu)%R(x <= round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEDN_UP_parity_propbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEDN_UP_parity_propapply DN_UP_parity_generic_pos. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEDN_UP_parity_pos_propbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEround_pred_total Rnd_NE_ptbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEround_pred_total Rnd_NE_ptbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEsatisfies_any formatbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NENG_existence_prop format NE_propbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NENG_existence_prop format NE_propbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x uNE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x uformat d -> NE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ud = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp d); Fexp := cexp beta fexp d |} -> NE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zd = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp d); Fexp := ed |} -> NE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):Zd = F2R {| Fnum := md; Fexp := ed |} -> NE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}NE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}He:Z.even md = trueNE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseNE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}He:Z.even md = trueNE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseNE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}He:Z.even md = trued = F2R {| Fnum := md; Fexp := ed |} /\ canonical {| Fnum := md; Fexp := ed |} /\ Z.even (Fnum {| Fnum := md; Fexp := ed |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseNE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}He:Z.even md = trued = 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 |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseNE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}He:Z.even md = trued = d /\ Fexp {| Fnum := md; Fexp := ed |} = cexp beta fexp d /\ Z.even (Fnum {| Fnum := md; Fexp := ed |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseNE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseNE_prop x u \/ NE_prop x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseNE_prop x ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseformat u -> NE_prop x ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseu = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp u); Fexp := cexp beta fexp u |} -> NE_prop x ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zu = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp u); Fexp := eu |} -> NE_prop x ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):Zu = F2R {| Fnum := mu; Fexp := eu |} -> NE_prop x ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}NE_prop x ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}NE_prop x (F2R {| Fnum := mu; Fexp := eu |})beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}canonical {| Fnum := mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}Z.even (Fnum {| Fnum := mu; Fexp := eu |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}Fexp {| Fnum := mu; Fexp := eu |} = cexp beta fexp (F2R {| Fnum := mu; Fexp := eu |})beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}Z.even (Fnum {| Fnum := mu; Fexp := eu |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}Z.even (Fnum {| Fnum := mu; Fexp := eu |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}negb (Z.even (Fnum {| Fnum := md; Fexp := ed |})) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}~ format xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}canonical {| Fnum := md; Fexp := ed |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}canonical {| Fnum := mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}negb (Z.even md) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}~ format xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}canonical {| Fnum := md; Fexp := ed |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}canonical {| Fnum := mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}~ format xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}canonical {| Fnum := md; Fexp := ed |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}canonical {| Fnum := mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}canonical {| Fnum := md; Fexp := ed |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}canonical {| Fnum := mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}Fexp {| Fnum := md; Fexp := ed |} = cexp beta fexp (F2R {| Fnum := md; Fexp := ed |})beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}canonical {| Fnum := mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}canonical {| Fnum := mu; Fexp := eu |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}Fexp {| Fnum := mu; Fexp := eu |} = cexp beta fexp (F2R {| Fnum := mu; Fexp := eu |})beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := md; Fexp := ed |} = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}d = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}Rnd_DN_pt format x (round beta fexp Zfloor x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}F2R {| Fnum := mu; Fexp := eu |} = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}u = round beta fexp Zceil xnow apply round_UP_pt. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHf:~ format xHd:Rnd_DN_pt format x dHu:Rnd_UP_pt format x ued:=cexp beta fexp d:Zmd:=Ztrunc (scaled_mantissa beta fexp d):ZHd1:d = F2R {| Fnum := md; Fexp := ed |}Ho:Z.even md = falseeu:=cexp beta fexp u:Zmu:=Ztrunc (scaled_mantissa beta fexp u):ZHu1:u = F2R {| Fnum := mu; Fexp := eu |}Rnd_UP_pt format x (round beta fexp Zceil x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEround_pred_monotone Rnd_NE_ptbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEround_pred_monotone Rnd_NE_ptbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NERnd_NG_pt_unique_prop format NE_propbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trued = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x = dd = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dd = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x = dx = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dd = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x = du = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dd = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x = dformat xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dd = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x = dformat dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dd = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dd = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ negb (Z.even (Fnum cd)) = trueHx:x <> dd = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> d~ format xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cd = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cu = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> d~ format xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cd = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cu = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dHf:format xFalsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cd = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cu = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dHf:format xx = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cd = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cu = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dHf:format xd = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cd = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cu = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cd = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cu = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dd = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cu = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dRnd_DN_pt format x (round beta fexp Zfloor x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cu = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dF2R cu = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> du = round beta fexp Zceil xnow apply round_UP_pt. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx, d, u:RHd:Rnd_DN_pt format x dHdn:Rnd_N_pt format x dHu:Rnd_UP_pt format x uHun:Rnd_N_pt format x ucd:float betaHd1:d = F2R cdHd2:canonical cd /\ Z.even (Fnum cd) = truecu:float betaHu1:u = F2R cuHu2:canonical cu /\ Z.even (Fnum cu) = trueHx:x <> dRnd_UP_pt format x (round beta fexp Zceil x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEround_pred Rnd_NE_ptbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEround_pred Rnd_NE_ptbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEround_pred_total Rnd_NE_ptbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEround_pred_monotone Rnd_NE_ptapply Rnd_NE_pt_monotone. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEround_pred_monotone Rnd_NE_ptbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEforall x : R, (0 < x)%R -> Rnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEforall x : R, (0 < x)%R -> Rnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%RRnd_N_pt format x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%RNE_prop x (round beta fexp ZnearestE x) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%RNE_prop x (round beta fexp ZnearestE x) \/ (forall f2 : R, Rnd_N_pt format x f2 -> f2 = round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=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)(* midpoint *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%Rexists g : float beta, xr = F2R g /\ canonical g /\ Z.even (Fnum g) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%Rxr = 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 |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%Rxr = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%Rcanonical {| 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 |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%Rcanonical {| 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 |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%Rcanonical {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RZ.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RFexp {| 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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RZ.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%Rcexp beta fexp xr = cexp beta fexp (F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |})beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RZ.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%Rxr = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RZ.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RZ.even (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp xr); Fexp := cexp beta fexp xr |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RZ.even (Ztrunc (scaled_mantissa beta fexp xr)) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RZ.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 |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RZ.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 |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RZ.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 |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RZ.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 |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%R(/ 2)%R = (/ 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RZ.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 |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb true then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(round beta fexp Zfloor x <= 0)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(0 < round beta fexp Zfloor x)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(round beta fexp Zfloor x <= 0)%RZ.even (Ztrunc (scaled_mantissa beta fexp 0)) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(round beta fexp Zfloor x <= 0)%R(0 <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(0 < round beta fexp Zfloor x)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(round beta fexp Zfloor x <= 0)%RZ.even (Ztrunc (0 * bpow (- cexp beta fexp 0))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(round beta fexp Zfloor x <= 0)%R(0 <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(0 < round beta fexp Zfloor x)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(round beta fexp Zfloor x <= 0)%RZ.even (Ztrunc 0) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(round beta fexp Zfloor x <= 0)%R(0 <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(0 < round beta fexp Zfloor x)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(round beta fexp Zfloor x <= 0)%R(0 <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(0 < round beta fexp Zfloor x)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(round beta fexp Zfloor x <= 0)%R(round beta fexp Zfloor 0 <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(0 < round beta fexp Zfloor x)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(round beta fexp Zfloor x <= 0)%R(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(0 < round beta fexp Zfloor x)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(0 < round beta fexp Zfloor x)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zfloor x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = trueHr:(0 < round beta fexp Zfloor x)%RZ.even (Ztrunc (IZR (Zfloor (scaled_mantissa beta fexp x)))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (F2R {| Fnum := if negb false then Zceil mx else Zfloor mx; Fexp := cexp beta fexp x |}))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RZceil mx = (Zfloor mx + 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RIZR (Zfloor mx) <> mxbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RH:IZR (Zfloor mx) = mxFalsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - mx)%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RH:IZR (Zfloor mx) = mxFalsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx + - mx)%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RH:IZR (Zfloor mx) = mxFalsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:0%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RH:IZR (Zfloor mx) = mxFalsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:0%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RH:IZR (Zfloor mx) = mx(0 < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:0%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RH:IZR (Zfloor mx) = mx(0 < / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:0%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RH:IZR (Zfloor mx) = mx(0 < 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':(round beta fexp Zceil x < bpow ex)%RZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':(round beta fexp Zceil x < bpow ex)%RZ.even (Ztrunc (round beta fexp Zceil x * bpow (- cexp beta fexp (round beta fexp Zceil x)))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':(round beta fexp Zceil x < bpow ex)%RZ.even (Ztrunc (round beta fexp Zceil x * bpow (- fexp ex))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':(round beta fexp Zceil x < bpow ex)%RZ.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))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':(round beta fexp Zceil x < bpow ex)%RZ.even (Ztrunc (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) * bpow (- fexp ex))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':(round beta fexp Zceil x < bpow ex)%RZ.even (Ztrunc (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (fexp ex) * bpow (- fexp ex))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':(round beta fexp Zceil x < bpow ex)%RZ.even (Ztrunc (IZR (Zceil (scaled_mantissa beta fexp x)))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':(round beta fexp Zceil x < bpow ex)%RZ.even (Zceil (scaled_mantissa beta fexp x)) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':(round beta fexp Zceil x < bpow ex)%RZ.even (Zceil mx) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':(round beta fexp Zceil x < bpow ex)%RZ.even (Zfloor mx + 1) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (scaled_mantissa beta fexp (bpow ex))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (bpow ex * bpow (- fexp (mag beta (bpow ex))))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (bpow ex * bpow (- fexp (ex + 1)))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (Ztrunc (IZR (beta ^ (ex + - fexp (ex + 1))))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = trueZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = trueHs:Z.even beta = falseZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = trueHs: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))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = trueHs: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))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = trueHs: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)%ZZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = trueHs: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)%ZZ.even beta = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = trueHs: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))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = trueHs: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))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (Zfloor mx) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseH:Z.even (Zfloor mx) = trueZ.even (beta ^ (ex + - fexp (ex + 1))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (Zfloor mx) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (Zceil mx + -1) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseBool.eqb (Z.even (Zceil mx)) (Z.even (-1)) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (Zceil mx) = Z.even (-1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (Zceil (scaled_mantissa beta fexp x)) = Z.even (-1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseZ.even (beta ^ (ex - fexp ex)) = Z.even (-1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = false(beta ^ (ex - fexp ex))%Z = Zceil (scaled_mantissa beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falsefalse = Z.even (-1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = false(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = false(beta ^ (ex - fexp ex))%Z = Zceil (scaled_mantissa beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = false(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = false(beta ^ (ex - fexp ex))%Z = Zceil (scaled_mantissa beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = false(beta ^ (ex - fexp ex))%Z = Zceil (scaled_mantissa beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falseIZR (beta ^ (ex - fexp ex)) = IZR (Zceil (scaled_mantissa beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falsebpow (ex - fexp ex) = IZR (Zceil (scaled_mantissa beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = false(0 <= ex - fexp ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falsebpow (ex - fexp ex) = IZR (Zceil (scaled_mantissa beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = false(bpow (ex - fexp ex) * bpow (fexp ex))%R = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falsebpow (fexp ex) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = false(bpow (ex + - fexp ex) * bpow (fexp ex))%R = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falsebpow (fexp ex) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = false(bpow ex * bpow (- fexp ex) * bpow (fexp ex))%R = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falsebpow (fexp ex) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falsebpow ex = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falsebpow (fexp ex) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falsebpow ex = (IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falsebpow (fexp ex) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = falsebpow (fexp ex) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow exHr:Z.even beta = false(bpow (fexp ex) > 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(fexp ex < ex)%ZHu:(bpow (ex - 1) <= round beta fexp Zceil x <= bpow ex)%RHfc:Zceil mx = (Zfloor mx + 1)%ZHu':round beta fexp Zceil x = bpow ex(fexp (ex + 1) <= ex)%Z -> (0 <= ex + - fexp (ex + 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Zfloor mx) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZH:Z.even (Zfloor mx) = trueZ.even (Ztrunc (scaled_mantissa beta fexp (round beta fexp Zceil x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Zfloor mx) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Zfloor (x * bpow (- cexp beta fexp x))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R = (/ 2)%RHmx:Z.even (Zfloor mx) = falseex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RHe:(ex <= fexp ex)%ZZ.even (Zfloor (x * bpow (- fexp ex))) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rforall f2 : R, Rnd_N_pt format x f2 -> f2 = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gg = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x = gg = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gg = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x = gx = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gg = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x = gxr = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gg = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x = gformat xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gg = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x = gformat gbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gg = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gg = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Rg = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:Rg = xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RRnd_DN_pt format x dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RRnd_UP_pt format x ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:R(x - d)%R <> (u - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RRnd_N_pt format x xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RRnd_UP_pt format x ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:R(x - d)%R <> (u - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RRnd_N_pt format x xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:R(x - d)%R <> (u - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RRnd_N_pt format x xrbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:R(x - d)%R <> (u - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=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))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%RFalsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RFalsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%R(mx - IZR (Zfloor mx))%R = (/ 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RRcompare (mx - IZR (Zfloor mx)) (/ 2) = Eqbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RRcompare (mx - IZR (Zfloor mx)) (IZR (Zceil mx) - mx) = Eqbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RIZR (Zfloor mx) <> mxbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RIZR (Zfloor mx) <> mxbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RHxg:IZR (Zfloor mx) = mxx = gbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RHxg:IZR (Zfloor mx) = mxg = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RHxg:IZR (Zfloor mx) = mxformat xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RHxg:IZR (Zfloor mx) = mxformat (scaled_mantissa beta fexp x * bpow (cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RHxg:IZR (Zfloor mx) = mxformat (mx * bpow (cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RHxg:IZR (Zfloor mx) = mxformat (IZR (Zfloor mx) * bpow (cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(mx - IZR (Zfloor mx))%R = (IZR (Zceil mx) - mx)%RHxg:IZR (Zfloor mx) = mxformat dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((mx - IZR (Zfloor mx)) * bpow (cexp beta fexp x))%R = ((IZR (Zceil mx) - mx) * bpow (cexp beta fexp x))%Rbpow (cexp beta fexp x) <> 0%Rapply bpow_gt_0. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(0 < x)%Rmx:=scaled_mantissa beta fexp x:Rxr:=round beta fexp ZnearestE x:RHm:(mx - IZR (Zfloor mx))%R <> (/ 2)%Rg:RHg:Rnd_N_pt format x gHxg:x <> gd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((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)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEforall x : R, round beta fexp ZnearestE (- x) = (- round beta fexp ZnearestE x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEforall x : R, round beta fexp ZnearestE (- x) = (- round beta fexp ZnearestE x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rround beta fexp ZnearestE (- x) = (- round beta fexp ZnearestE x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RF2R {| 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 |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RF2R {| 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 |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RF2R {| 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 |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RF2R {| 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 |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RF2R {| 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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RZnearest (fun t : Z => negb (negb (Z.even (- (t + 1))))) (scaled_mantissa beta fexp x) = ZnearestE (scaled_mantissa beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rm:=scaled_mantissa beta fexp x:RZnearest (fun t : Z => negb (negb (Z.even (- (t + 1))))) m = ZnearestE mbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rm:=scaled_mantissa beta fexp x:Rmatch 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 endbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rm:=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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rm:=scaled_mantissa beta fexp x:Rnegb (negb (Z.even (- (Zfloor m + 1)))) = negb (Z.even (Zfloor m))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rm:=scaled_mantissa beta fexp x:RZ.even (- (Zfloor m + 1)) = negb (Z.even (Zfloor m))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rm:=scaled_mantissa beta fexp x:RZ.even (Zfloor m + 1) = negb (Z.even (Zfloor m))now rewrite eqb_sym. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rm:=scaled_mantissa beta fexp x:RBool.eqb (Z.even (Zfloor m)) (Z.even 1) = negb (Z.even (Zfloor m))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEforall x : R, round beta fexp ZnearestE (Rabs x) = Rabs (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEforall x : R, round beta fexp ZnearestE (Rabs x) = Rabs (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:Rround beta fexp ZnearestE (Rabs x) = Rabs (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RRabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE (Rabs x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RRabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE (if Rcase_abs x then (- x)%R else x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x >= 0)%RRabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRabs (round beta fexp ZnearestE x) = (- round beta fexp ZnearestE x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x >= 0)%RRabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%R(round beta fexp ZnearestE x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x >= 0)%RRabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%R(round beta fexp ZnearestE x <= round beta fexp ZnearestE 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x >= 0)%RRabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%R(x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x >= 0)%RRabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x >= 0)%RRabs (round beta fexp ZnearestE x) = round beta fexp ZnearestE xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x >= 0)%R(0 <= round beta fexp ZnearestE x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x >= 0)%R(round beta fexp ZnearestE 0 <= round beta fexp ZnearestE x)%Rnow apply Rge_le. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x >= 0)%R(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEforall x : R, Rnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEforall x : R, Rnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rforall x0 : R, format x0 -> format (- x0)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rforall x0 f : R, NE_prop x0 f -> NE_prop (- x0) (- f)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rforall x0 f : R, NE_prop x0 f -> NE_prop (- x0) (- f)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RR -> 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) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1:f = F2R {| Fnum := mg; Fexp := eg |}H2:canonical {| Fnum := mg; Fexp := eg |}H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = trueexists g : float beta, (- f)%R = F2R g /\ canonical g /\ Z.even (Fnum g) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1: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 |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1:f = F2R {| Fnum := mg; Fexp := eg |}H2:canonical {| Fnum := mg; Fexp := eg |}H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = truecanonical {| Fnum := - mg; Fexp := eg |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1:f = F2R {| Fnum := mg; Fexp := eg |}H2:canonical {| Fnum := mg; Fexp := eg |}H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = trueZ.even (Fnum {| Fnum := - mg; Fexp := eg |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1: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:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1:f = F2R {| Fnum := mg; Fexp := eg |}H2:canonical {| Fnum := mg; Fexp := eg |}H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = truecanonical {| Fnum := - mg; Fexp := eg |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1:f = F2R {| Fnum := mg; Fexp := eg |}H2:canonical {| Fnum := mg; Fexp := eg |}H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = trueZ.even (Fnum {| Fnum := - mg; Fexp := eg |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1:f = F2R {| Fnum := mg; Fexp := eg |}H2:canonical {| Fnum := mg; Fexp := eg |}H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = truecanonical {| Fnum := - mg; Fexp := eg |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1:f = F2R {| Fnum := mg; Fexp := eg |}H2:canonical {| Fnum := mg; Fexp := eg |}H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = trueZ.even (Fnum {| Fnum := - mg; Fexp := eg |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1:f = F2R {| Fnum := mg; Fexp := eg |}H2:canonical {| Fnum := mg; Fexp := eg |}H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = trueZ.even (Fnum {| Fnum := - mg; Fexp := eg |}) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%Rf:Rmg, eg:ZH1:f = F2R {| Fnum := mg; Fexp := eg |}H2:canonical {| Fnum := mg; Fexp := eg |}H3:Z.even (Fnum {| Fnum := mg; Fexp := eg |}) = trueZ.even (- mg) = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (- round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%RRnd_NG_pt format NE_prop (- x) (round beta fexp ZnearestE (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x < 0)%R(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%RRnd_NE_pt 0 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:x = 0%Rformat 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)now apply round_NE_pt_pos. Qed. End Fcore_rnd_NE.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpexists_NE_:Exists_NEx:RHx:(x > 0)%RRnd_NE_pt x (round beta fexp ZnearestE x)
Notations for backward-compatibility with Flocq 1.4.
Notation rndNE := ZnearestE (only parsing).