Built with Alectryon, running Coq+SerAPI v8.11.0+0.11.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+⇟ or 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 Reals Psatz. Require Import Raux Defs Round_pred Generic_fmt Float_prop. Section Fcore_ulp. Variable beta : radix. Notation bpow e := (bpow beta e). Variable fexp : Z -> Z.
Definition and basic properties about the minimal exponent, when it exists
beta:radixfexp:Z -> Z
forall x y : Z, (x <= y)%Z \/ ~ (x <= y)%Zbeta:radixfexp:Z -> Z
forall x y : Z, (x <= y)%Z \/ ~ (x <= y)%Zbeta:radixfexp:Z -> Zx, y:Z
(x <= y)%Z \/ ~ (x <= y)%Zbeta:radixfexp:Z -> Zx, y:Zl:(x <= y)%Z
(x <= y)%Z \/ ~ (x <= y)%Zbeta:radixfexp:Z -> Zx, y:Zn:~ (x <= y)%Z
(x <= y)%Z \/ ~ (x <= y)%Znow right. Qed.beta:radixfexp:Z -> Zx, y:Zn:~ (x <= y)%Z
(x <= y)%Z \/ ~ (x <= y)%Z
negligible_exp is either none (as in FLX) or Some n such that n <= fexp n.
Definition negligible_exp: option Z := match (LPO_Z _ (fun z => Z_le_dec_aux z (fexp z))) with | inleft N => Some (proj1_sig N) | inright _ => None end. Inductive negligible_exp_prop: option Z -> Prop := | negligible_None: (forall n, (fexp n < n)%Z) -> negligible_exp_prop None | negligible_Some: forall n, (n <= fexp n)%Z -> negligible_exp_prop (Some n).beta:radixfexp:Z -> Z
negligible_exp_prop negligible_expbeta:radixfexp:Z -> Z
negligible_exp_prop negligible_expbeta:radixfexp:Z -> Zn:ZHn:(n <= fexp n)%Z
negligible_exp_prop (Some (proj1_sig (exist (fun n0 : Z => (n0 <= fexp n0)%Z) n Hn)))beta:radixfexp:Z -> ZHn:forall n : Z, ~ (n <= fexp n)%Z
negligible_exp_prop Nonebeta:radixfexp:Z -> ZHn:forall n : Z, ~ (n <= fexp n)%Z
negligible_exp_prop Noneintros n; specialize (Hn n); omega. Qed.beta:radixfexp:Z -> ZHn:forall n : Z, ~ (n <= fexp n)%Z
forall n : Z, (fexp n < n)%Zbeta:radixfexp:Z -> Z
negligible_exp = None /\ (forall n : Z, (fexp n < n)%Z) \/ (exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z)beta:radixfexp:Z -> Z
negligible_exp = None /\ (forall n : Z, (fexp n < n)%Z) \/ (exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z)beta:radixfexp:Z -> Zn:ZHn:(n <= fexp n)%Z
Some (proj1_sig (exist (fun n0 : Z => (n0 <= fexp n0)%Z) n Hn)) = None /\ (forall n0 : Z, (fexp n0 < n0)%Z) \/ (exists n0 : Z, Some (proj1_sig (exist (fun n1 : Z => (n1 <= fexp n1)%Z) n Hn)) = Some n0 /\ (n0 <= fexp n0)%Z)beta:radixfexp:Z -> ZHn:forall n : Z, ~ (n <= fexp n)%Z
None = None /\ (forall n : Z, (fexp n < n)%Z) \/ (exists n : Z, None = Some n /\ (n <= fexp n)%Z)beta:radixfexp:Z -> ZHn:forall n : Z, ~ (n <= fexp n)%Z
None = None /\ (forall n : Z, (fexp n < n)%Z) \/ (exists n : Z, None = Some n /\ (n <= fexp n)%Z)intros n; specialize (Hn n); omega. Qed. Context { valid_exp : Valid_exp fexp }.beta:radixfexp:Z -> ZHn:forall n : Z, ~ (n <= fexp n)%Z
forall n : Z, (fexp n < n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall n m : Z, (n <= fexp n)%Z -> (m <= fexp m)%Z -> fexp n = fexp mbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall n m : Z, (n <= fexp n)%Z -> (m <= fexp m)%Z -> fexp n = fexp mbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn, m:ZHn:(n <= fexp n)%ZHm:(m <= fexp m)%Z
fexp n = fexp mbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn, m:ZHn:(n <= fexp n)%ZHm:(m <= fexp m)%ZH:(n <= m)%Z
fexp n = fexp mbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn, m:ZHn:(n <= fexp n)%ZHm:(m <= fexp m)%ZH:(m < n)%Z
fexp n = fexp mapply sym_eq, valid_exp; omega. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn, m:ZHn:(n <= fexp n)%ZHm:(m <= fexp m)%ZH:(m < n)%Z
fexp n = fexp m
Definition and basic properties about the ulp
Now includes a nice ulp(0): ulp(0) is now 0 when there is no minimal
exponent, such as in FLX, and beta^(fexp n) when there is a n such
that n <= fexp n. For instance, the value of ulp(O) is then
beta^emin in FIX and FLT. The main lemma to use is ulp_neq_0 that
is equivalent to the previous "unfold ulp" provided the value is
not zero.
Definition ulp x := match Req_bool x 0 with | true => match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end | false => bpow (cexp beta fexp x) end.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, x <> 0%R -> ulp x = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, x <> 0%R -> ulp x = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:x <> 0%R
ulp x = bpow (cexp beta fexp x)intros H; now contradict H. Qed. Notation F := (generic_format beta fexp).beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:x <> 0%R
x = 0%R -> match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, ulp (- x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, ulp (- x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
ulp (- x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
(if Req_bool (- x) 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp (- x))) = (if Req_bool x 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:(- x)%R = 0%R
match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end = (if Req_bool x 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:(- x)%R <> 0%R
bpow (cexp beta fexp (- x)) = (if Req_bool x 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:(- x)%R = 0%R
x = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:(- x)%R <> 0%R
bpow (cexp beta fexp (- x)) = (if Req_bool x 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:(- x)%R <> 0%R
bpow (cexp beta fexp (- x)) = (if Req_bool x 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:(- x)%R <> 0%R
bpow (cexp beta fexp (- x)) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:(- x)%R <> 0%R
x <> 0%Rintros H2; apply H1; rewrite H2; ring. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:(- x)%R <> 0%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, ulp (Rabs x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, ulp (Rabs x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
ulp (Rabs x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:x = 0%R
(if Req_bool (Rabs x) 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp (Rabs x))) = match negligible_exp with | Some n => bpow (fexp n) | None => 0%R endbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:x <> 0%R
(if Req_bool (Rabs x) 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp (Rabs x))) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:x = 0%R
Rabs x = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:x <> 0%R
(if Req_bool (Rabs x) 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp (Rabs x))) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:x <> 0%R
(if Req_bool (Rabs x) 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp (Rabs x))) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:x <> 0%R
bpow (cexp beta fexp (Rabs x)) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:x <> 0%R
Rabs x <> 0%Rnow apply Rabs_no_R0. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH1:x <> 0%R
Rabs x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH:x = 0%R
(0 <= match negligible_exp with | Some n => bpow (fexp n) | None => 0 end)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH:x <> 0%R
(0 <= bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH:x = 0%Rz:Z
(0 <= bpow (fexp z))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH:x = 0%R
(0 <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH:x <> 0%R
(0 <= bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH:x = 0%R
(0 <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH:x <> 0%R
(0 <= bpow (cexp beta fexp x))%Rapply bpow_ge_0. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RH:x <> 0%R
(0 <= bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> (ulp x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> (ulp x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(ulp x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(1 * ulp x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(1 * ulp x <= F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(1 * bpow (cexp beta fexp x) <= F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(1 * bpow (cexp beta fexp x) <= F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(1 * bpow (cexp beta fexp x) <= IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(0 <= bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(1 <= IZR (Ztrunc (scaled_mantissa beta fexp x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(1 <= IZR (Ztrunc (scaled_mantissa beta fexp x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(0 < Ztrunc (scaled_mantissa beta fexp x))%Znow rewrite <- Fx. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(0 < F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, x <> 0%R -> F x -> (ulp x <= Rabs x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, x <> 0%R -> F x -> (ulp x <= Rabs x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RFx:F x
(ulp x <= Rabs x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RFx:F x
(ulp (Rabs x) <= Rabs x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RFx:F x
(0 < Rabs x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RFx:F x
F (Rabs x)now apply generic_format_abs. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RFx:F x
F (Rabs x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, ~ F x -> round beta fexp Zceil x = (round beta fexp Zfloor x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, ~ F x -> round beta fexp Zceil x = (round beta fexp Zfloor x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
round beta fexp Zceil x = (round beta fexp Zfloor x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
round beta fexp Zceil x = (round beta fexp Zfloor x + bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} = (F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} + bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
F2R {| Fnum := Zceil (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} = (F2R {| Fnum := Zfloor (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} + bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
(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 |}))%R = (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 |}) + bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
(IZR (Zceil (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x))%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) + bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
(IZR (Zfloor (scaled_mantissa beta fexp x) + 1) * bpow (cexp beta fexp x))%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) + bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
IZR (Zfloor (scaled_mantissa beta fexp x)) <> scaled_mantissa beta fexp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
((IZR (Zfloor (scaled_mantissa beta fexp x)) + 1) * bpow (cexp beta fexp x))%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) + bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
IZR (Zfloor (scaled_mantissa beta fexp x)) <> scaled_mantissa beta fexp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
((IZR (Zfloor (scaled_mantissa beta fexp x)) + 1) * bpow (cexp beta fexp x))%R = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) + bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
IZR (Zfloor (scaled_mantissa beta fexp x)) <> scaled_mantissa beta fexp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
IZR (Zfloor (scaled_mantissa beta fexp x)) <> scaled_mantissa beta fexp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xH:IZR (Zfloor (scaled_mantissa beta fexp x)) = scaled_mantissa beta fexp x
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xH:IZR (Zfloor (scaled_mantissa beta fexp x)) = scaled_mantissa beta fexp x
F xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xH:IZR (Zfloor (scaled_mantissa beta fexp x)) = scaled_mantissa beta fexp x
x = (IZR (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (Fexp {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xH:IZR (Zfloor (scaled_mantissa beta fexp x)) = scaled_mantissa beta fexp x
x = (IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xH:IZR (Zfloor (scaled_mantissa beta fexp x)) = scaled_mantissa beta fexp x
x = (IZR (Ztrunc (IZR (Zfloor (scaled_mantissa beta fexp x)))) * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xH:IZR (Zfloor (scaled_mantissa beta fexp x)) = scaled_mantissa beta fexp x
x = (IZR (Zfloor (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xH:IZR (Zfloor (scaled_mantissa beta fexp x)) = scaled_mantissa beta fexp x
x = (scaled_mantissa beta fexp x * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xV:x = 0%R
F xapply generic_format_0. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xV:x = 0%R
F 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall e : Z, ulp (bpow e) = bpow (fexp (e + 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall e : Z, ulp (bpow e) = bpow (fexp (e + 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
ulp (bpow e) = bpow (fexp (e + 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
bpow (cexp beta fexp (bpow e)) = bpow (fexp (e + 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
bpow e <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
cexp beta fexp (bpow e) = fexp (e + 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
bpow e <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(bpow (e + 1 - 1) <= Rabs (bpow e) < bpow (e + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
bpow e <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(bpow (e + 1 - 1) <= bpow e < bpow (e + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(0 <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
bpow e <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(bpow (e + 1 - 1) <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(bpow e < bpow (e + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(0 <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
bpow e <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(bpow e <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(bpow e < bpow (e + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(0 <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
bpow e <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(bpow e < bpow (e + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(0 <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
bpow e <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(e < e + 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(0 <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
bpow e <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(0 <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
bpow e <> 0%Rapply Rgt_not_eq, Rlt_gt, bpow_gt_0. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
bpow e <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
F (ulp 0)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
F (ulp 0)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
F (if Req_bool 0 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp 0))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
F match negligible_exp with | Some n => bpow (fexp n) | None => 0 endbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(forall n : Z, (fexp n < n)%Z) -> F 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall n : Z, (n <= fexp n)%Z -> F (bpow (fexp n))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall n : Z, (n <= fexp n)%Z -> F (bpow (fexp n))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn:ZH1:(n <= fexp n)%Z
F (bpow (fexp n))now apply valid_exp. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn:ZH1:(n <= fexp n)%Z
(fexp (fexp n + 1) <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall e : Z, (ulp 0 <= bpow e)%R -> F (bpow e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall e : Z, (ulp 0 <= bpow e)%R -> F (bpow e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
((if Req_bool 0 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0 end else bpow (cexp beta fexp 0)) <= bpow e)%R -> F (bpow e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= bpow e)%R -> F (bpow e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
(forall n : Z, (fexp n < n)%Z) -> (0 <= bpow e)%R -> F (bpow e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
forall n : Z, (n <= fexp n)%Z -> (bpow (fexp n) <= bpow e)%R -> F (bpow e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:ZH1:forall n : Z, (fexp n < n)%Z
F (bpow e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
forall n : Z, (n <= fexp n)%Z -> (bpow (fexp n) <= bpow e)%R -> F (bpow e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:ZH1:forall n : Z, (fexp n < n)%Z
(fexp (e + 1) <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
forall n : Z, (n <= fexp n)%Z -> (bpow (fexp n) <= bpow e)%R -> F (bpow e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:Z
forall n : Z, (n <= fexp n)%Z -> (bpow (fexp n) <= bpow e)%R -> F (bpow e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%R
F (bpow e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%R
(fexp (e + 1) <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(e + 1 <= fexp (e + 1))%Z
(fexp (e + 1) <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(fexp (e + 1) < e + 1)%Z
(fexp (e + 1) <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(e + 1 <= fexp (e + 1))%Z
~ (e + 1 <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(e + 1 <= fexp (e + 1))%Z
(e + 1 <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(fexp (e + 1) < e + 1)%Z
(fexp (e + 1) <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(e + 1 <= fexp (e + 1))%Z
(e + 1 <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(fexp (e + 1) < e + 1)%Z
(fexp (e + 1) <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(e + 1 <= fexp (e + 1))%Z
(fexp (e + 1) <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(fexp (e + 1) < e + 1)%Z
(fexp (e + 1) <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(e + 1 <= fexp (e + 1))%Z
(fexp n <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(e + 1 <= fexp (e + 1))%Z
fexp n = fexp (e + 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(fexp (e + 1) < e + 1)%Z
(fexp (e + 1) <= e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(e + 1 <= fexp (e + 1))%Z
fexp n = fexp (e + 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(fexp (e + 1) < e + 1)%Z
(fexp (e + 1) <= e)%Zomega. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe, n:ZH1:(n <= fexp n)%ZH2:(bpow (fexp n) <= bpow e)%RH4:(fexp (e + 1) < e + 1)%Z
(fexp (e + 1) <= e)%Z
The three following properties are equivalent:
Exp_not_FTZ ; forall x, F (ulp x) ; forall x, ulp 0 <= ulp x
beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Exp_not_FTZ fexp -> forall x : R, F (ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Exp_not_FTZ fexp -> forall x : R, F (ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:R
F (ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x = 0%R
F (ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%R
F (ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%R
F (ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%R
F (bpow (cexp beta fexp x))apply H. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%R
(fexp (cexp beta fexp x + 1) <= cexp beta fexp x)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(forall x : R, F (ulp x)) -> Exp_not_FTZ fexpbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(forall x : R, F (ulp x)) -> Exp_not_FTZ fexpbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall x : R, F (ulp x)e:Z
(fexp (fexp e + 1) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:ZH:F (ulp (bpow (e - 1)))
(fexp (fexp e + 1) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:ZH:F (bpow (cexp beta fexp (bpow (e - 1))))
(fexp (fexp e + 1) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:ZH:F (ulp (bpow (e - 1)))
bpow (e - 1) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:ZH:F (bpow (cexp beta fexp (bpow (e - 1))))
(fexp (fexp e + 1) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:ZH:F (bpow (fexp (mag beta (bpow (e - 1)))))
(fexp (fexp e + 1) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:ZH:F (bpow (fexp (e - 1 + 1)))
(fexp (fexp e + 1) <= fexp e)%Znow replace (e-1+1)%Z with e in H by ring. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpe:ZH:(fexp (fexp (e - 1 + 1) + 1) <= fexp (e - 1 + 1))%Z
(fexp (fexp e + 1) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Exp_not_FTZ fexp -> forall x : R, (ulp 0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Exp_not_FTZ fexp -> forall x : R, (ulp 0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:R
(ulp 0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x = 0%R
(ulp 0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%R
(ulp 0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%R
(ulp 0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%R
((if Req_bool 0 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0 end else bpow (cexp beta fexp 0)) <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%R
(match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%R
negligible_exp = None /\ (forall n : Z, (fexp n < n)%Z) -> (match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Z
(bpow (fexp n) <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Z
(bpow (fexp n) <= bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Z
(fexp n <= fexp (mag beta x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Zl:mag_prop beta x
(fexp n <= fexp l)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Zl:mag_prop beta xHl:(l <= fexp l)%Z
(fexp n <= fexp l)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Zl:mag_prop beta xHl:(fexp l < l)%Z
(fexp n <= fexp l)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Zl:mag_prop beta xHl:(fexp l < l)%Z
(fexp n <= fexp l)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Zl:mag_prop beta xHl:(fexp l < l)%ZK:(fexp l < fexp n)%Z
(fexp n <= fexp l)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Zl:mag_prop beta xHl:(fexp l < l)%ZK:(fexp l < fexp n)%Z
~ (fexp n <= fexp l)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Zl:mag_prop beta xHl:(fexp l < l)%ZK:(fexp l < fexp n)%Z
(fexp n <= fexp l)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Zl:mag_prop beta xHl:(fexp l < l)%ZK:(fexp l < fexp n)%Z
(fexp n <= fexp l)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Zl:mag_prop beta xHl:(fexp l < l)%ZK:(fexp l < fexp n)%Z
(fexp n <= fexp (fexp l + 1))%Zomega. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall e : Z, (fexp (fexp e + 1) <= fexp e)%Zx:RHx:x <> 0%Rn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Zl:mag_prop beta xHl:(fexp l < l)%ZK:(fexp l < fexp n)%Z
(fexp l + 1 <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(forall x : R, (ulp 0 <= ulp x)%R) -> Exp_not_FTZ fexpbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(forall x : R, (ulp 0 <= ulp x)%R) -> Exp_not_FTZ fexpbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall x : R, (ulp 0 <= ulp x)%Re:Z
(fexp (fexp e + 1) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall x : R, (ulp 0 <= ulp x)%Re:Z
F (bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall x : R, (ulp 0 <= ulp x)%Re:Z
(ulp 0 <= bpow (fexp e))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall x : R, (ulp 0 <= ulp x)%Re:Z
(ulp 0 <= bpow (fexp (e - 1 + 1)))%Rapply H. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:forall x : R, (ulp 0 <= ulp x)%Re:Z
(ulp 0 <= ulp (bpow (e - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall x y : R, (0 <= x)%R -> (x <= y)%R -> (ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall x y : R, (0 <= x)%R -> (x <= y)%R -> (ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 <= x)%RHxy:(x <= y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:0%R = xHxy:(x <= y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
(bpow (cexp beta fexp x) <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:0%R = xHxy:(x <= y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
(bpow (cexp beta fexp x) <= bpow (cexp beta fexp y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
y <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:0%R = xHxy:(x <= y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
(cexp beta fexp x <= cexp beta fexp y)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
y <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:0%R = xHxy:(x <= y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
(mag beta x <= mag beta y)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
y <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:0%R = xHxy:(x <= y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
y <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:0%R = xHxy:(x <= y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
(0 < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:0%R = xHxy:(x <= y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:(0 < x)%RHxy:(x <= y)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:0%R = xHxy:(x <= y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:0%R = xHxy:(x <= y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:0%R = xHxy:(x <= y)%R
(ulp 0 <= ulp y)%Rapply monotone_exp_not_FTZ... Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHx:0%R = xHxy:(x <= y)%R
Exp_not_FTZ fexpbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall x y : R, (Rabs x <= Rabs y)%R -> (ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall x y : R, (Rabs x <= Rabs y)%R -> (ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHxy:(Rabs x <= Rabs y)%R
(ulp x <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHxy:(Rabs x <= Rabs y)%R
(ulp (Rabs x) <= ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHxy:(Rabs x <= Rabs y)%R
(ulp (Rabs x) <= ulp (Rabs y))%Rapply Rabs_pos. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpx, y:RHxy:(Rabs x <= Rabs y)%R
(0 <= Rabs x)%R
Properties when there is no minimal exponent
beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
negligible_exp = None -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, round beta fexp rnd x = 0%R -> x = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
negligible_exp = None -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, round beta fexp rnd x = 0%R -> x = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%R
x = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
x = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
Rabs (round beta fexp rnd x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
Rabs (round beta fexp rnd x) = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
Rabs (round beta fexp rnd x) <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(Rabs (round beta fexp rnd x) > 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(0 < bpow (mag beta x - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(bpow (mag beta x - 1) <= Rabs (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(bpow (mag beta x - 1) <= Rabs (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
F (bpow (mag beta x - 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(bpow (mag beta x - 1) <= Rabs x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(fexp (mag beta x - 1 + 1) <= mag beta x - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(bpow (mag beta x - 1) <= Rabs x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%RK1:negligible_exp = NoneK2:forall n : Z, (fexp n < n)%Z
(fexp (mag beta x - 1 + 1) <= mag beta x - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (fexp (mag beta x - 1 + 1) <= mag beta x - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(bpow (mag beta x - 1) <= Rabs x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%RK1:negligible_exp = NoneK2:forall n : Z, (fexp n < n)%Z
(fexp (mag beta x) <= mag beta x - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (fexp (mag beta x - 1 + 1) <= mag beta x - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(bpow (mag beta x - 1) <= Rabs x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (fexp (mag beta x - 1 + 1) <= mag beta x - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(bpow (mag beta x - 1) <= Rabs x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%Rn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(fexp (mag beta x - 1 + 1) <= mag beta x - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(bpow (mag beta x - 1) <= Rabs x)%Rnow apply bpow_mag_le. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonernd:R -> ZVr:Valid_rnd rndx:RHx:round beta fexp rnd x = 0%RHx2:x <> 0%R
(bpow (mag beta x - 1) <= Rabs x)%R
Definition and properties of pred and succ
Definition pred_pos x := if Req_bool x (bpow (mag beta x - 1)) then (x - bpow (fexp (mag beta x - 1)))%R else (x - ulp x)%R. Definition succ x := if (Rle_bool 0 x) then (x+ulp x)%R else (- pred_pos (-x))%R. Definition pred x := (- succ (-x))%R.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= x)%R -> pred x = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= x)%R -> pred x = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%R
(- (if Rle_bool 0 (- x) then - x + ulp (- x) else - pred_pos (- - x)))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%R
(- (- x + ulp (- x)))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(- x < 0)%R
(- - pred_pos (- - x))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%R
x = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%RK:x = 0%R
(- (- x + ulp (- x)))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(- x < 0)%R
(- - pred_pos (- - x))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%R
(x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%RK:x = 0%R
(- (- x + ulp (- x)))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(- x < 0)%R
(- - pred_pos (- - x))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%R
(- 0 <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%RK:x = 0%R
(- (- x + ulp (- x)))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(- x < 0)%R
(- - pred_pos (- - x))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%RK:x = 0%R
(- (- x + ulp (- x)))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(- x < 0)%R
(- - pred_pos (- - x))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%RK:x = 0%R
(- (- 0 + ulp (- 0)))%R = (if Req_bool 0 (bpow (mag beta 0 - 1)) then (0 - bpow (fexp (mag beta 0 - 1)))%R else (0 - ulp 0)%R)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(- x < 0)%R
(- - pred_pos (- - x))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%RK:x = 0%R
(- (- 0 + ulp (- 0)))%R = (0 - ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%RK:x = 0%R
0%R <> bpow (mag beta 0 - 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(- x < 0)%R
(- - pred_pos (- - x))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(0 <= - x)%RK:x = 0%R
(- (- 0 + ulp (- 0)))%R = (0 - ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(- x < 0)%R
(- - pred_pos (- - x))%R = pred_pos xnow rewrite 2!Ropp_involutive. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%RHx':(- x < 0)%R
(- - pred_pos (- - x))%R = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= x)%R -> succ x = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= x)%R -> succ x = (x + ulp x)%Rnow rewrite Rle_bool_true. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 <= x)%R
(if Rle_bool 0 x then (x + ulp x)%R else (- pred_pos (- x))%R) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, succ (- x) = (- pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, succ (- x) = (- pred x)%Rnow apply sym_eq, Ropp_involutive. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
succ (- x) = (- pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, pred (- x) = (- succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, pred (- x) = (- succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
pred (- x) = (- succ x)%Rnow rewrite Ropp_involutive. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
(- succ (- - x))%R = (- succ x)%R
pred and succ are in the format
(* cannont be x <> ulp 0, due to the counter-example 1-bit FP format fexp: e -> e-1 *) (* was pred_ge_bpow *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (x : R) (e : Z), F x -> x <> ulp x -> (bpow e < x)%R -> (bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (x : R) (e : Z), F x -> x <> ulp x -> (bpow e < x)%R -> (bpow e <= x - ulp x)%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%R
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%R
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%R
(0 < Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(0 < Ztrunc (scaled_mantissa beta fexp x))%Z
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%R
(0 < F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(0 < Ztrunc (scaled_mantissa beta fexp x))%Z
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%R
(0 < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(0 < Ztrunc (scaled_mantissa beta fexp x))%Z
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%R
(0 <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(0 < Ztrunc (scaled_mantissa beta fexp x))%Z
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(0 < Ztrunc (scaled_mantissa beta fexp x))%Z
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= x - ulp x)%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} - bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= IZR (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (Fexp {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) - bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) - bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) - 1 * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= (IZR (Ztrunc (scaled_mantissa beta fexp x)) - 1) * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e <= IZR (Ztrunc (scaled_mantissa beta fexp x) - 1) * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(1 < Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e < F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := fexp (mag beta x) |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(bpow e < F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := fexp (mag beta x) |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:(1 < Ztrunc (scaled_mantissa beta fexp x))%Z
(0 < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx':x <> ulp xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(bpow e <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
x = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
F2R {| Fnum := 1; Fexp := cexp beta fexp x |} = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
F2R {| Fnum := 1; Fexp := cexp beta fexp x |} = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(1 * bpow (cexp beta fexp x))%R = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
x <> 0%Rapply Rlt_trans with (2:=Hx), bpow_gt_0. Qed. (* was succ_le_bpow *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZFx:F xHx:(bpow e < x)%RH:(1 <= Ztrunc (scaled_mantissa beta fexp x))%ZHm:1%Z = Ztrunc (scaled_mantissa beta fexp x)
(0 < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (x : R) (e : Z), (0 < x)%R -> F x -> (x < bpow e)%R -> (x + ulp x <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (x : R) (e : Z), (0 < x)%R -> F x -> (x < bpow e)%R -> (x + ulp x <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(x + ulp x <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} + ulp x <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} + bpow (cexp beta fexp x) <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(IZR (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (Fexp {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) + bpow (cexp beta fexp x) <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) + bpow (cexp beta fexp x) <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) + 1 * bpow (cexp beta fexp x) <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
((IZR (Ztrunc (scaled_mantissa beta fexp x)) + 1) * bpow (cexp beta fexp x) <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x) + 1) * bpow (cexp beta fexp x) <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(0 < Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := fexp (mag beta x) |} < bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(0 < F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := fexp (mag beta x) |} < bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := fexp (mag beta x) |} < bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
x <> 0%Rnow apply Rgt_not_eq. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:Re:ZZx:(0 < x)%RFx:F xHx:(x < bpow e)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> x <> bpow (mag beta x - 1) -> F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> x <> bpow (mag beta x - 1) -> F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)
F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (Build_mag_prop beta x ex Ex - 1)
F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)
F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)
F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)
(bpow (ex - 1) < x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= x < bpow ex)%RHx:x <> bpow (ex - 1)
(bpow (ex - 1) < x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZH:bpow (ex - 1) = xH':(x < bpow ex)%RHx:x <> bpow (ex - 1)
(bpow (ex - 1) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x)%R = F2R {| Fnum := Ztrunc ((x - ulp x) * bpow (- fexp (mag beta (x - ulp x)))); Fexp := fexp (mag beta (x - ulp x)) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x)%R = F2R {| Fnum := Ztrunc ((x - ulp x) * bpow (- fexp ex)); Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} - ulp x)%R = F2R {| Fnum := Ztrunc ((F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} - ulp x) * bpow (- fexp ex)); Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} - bpow (cexp beta fexp x))%R = F2R {| Fnum := Ztrunc ((F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} - bpow (cexp beta fexp x)) * bpow (- fexp ex)); Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(F2R {| Fnum := Ztrunc (x * bpow (- cexp beta fexp x)); Fexp := cexp beta fexp x |} - bpow (cexp beta fexp x))%R = F2R {| Fnum := Ztrunc ((F2R {| Fnum := Ztrunc (x * bpow (- cexp beta fexp x)); Fexp := cexp beta fexp x |} - bpow (cexp beta fexp x)) * bpow (- fexp ex)); Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(F2R {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |} - bpow (fexp ex))%R = F2R {| Fnum := Ztrunc ((F2R {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |} - bpow (fexp ex)) * bpow (- fexp ex)); Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(IZR (Fnum {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) * bpow (Fexp {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) - bpow (fexp ex))%R = (IZR (Fnum {| Fnum := Ztrunc ((IZR (Fnum {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) * bpow (Fexp {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) - bpow (fexp ex)) * bpow (- fexp ex)); Fexp := fexp ex |}) * bpow (Fexp {| Fnum := Ztrunc ((IZR (Fnum {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) * bpow (Fexp {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) - bpow (fexp ex)) * bpow (- fexp ex)); Fexp := fexp ex |}))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) - bpow (fexp ex))%R = (IZR (Ztrunc ((IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) - bpow (fexp ex)) * bpow (- fexp ex))) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) - bpow (fexp ex))%R = (IZR (Ztrunc (IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) * bpow (- fexp ex) - bpow (fexp ex) * bpow (- fexp ex))) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) - bpow (fexp ex))%R = (IZR (Ztrunc (IZR (Ztrunc (x * bpow (- fexp ex))) * (bpow (fexp ex) * bpow (- fexp ex)) - bpow (fexp ex) * bpow (- fexp ex))) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) - bpow (fexp ex))%R = (IZR (Ztrunc (IZR (Ztrunc (x * bpow (- fexp ex))) - bpow 0)) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) - bpow (fexp ex))%R = (IZR (Ztrunc (IZR (Ztrunc (x * bpow (- fexp ex))) - 1)) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) - bpow (fexp ex))%R = (IZR (Ztrunc (IZR (Ztrunc (x * bpow (- fexp ex)) - 1))) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) - bpow (fexp ex))%R = (IZR (Ztrunc (x * bpow (- fexp ex)) - 1) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) - bpow (fexp ex))%R = ((IZR (Ztrunc (x * bpow (- fexp ex))) - 1) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) - bpow (fexp ex))%R = (IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) - 1 * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x - ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= x - ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%RH:x = bpow (cexp beta fexp x)
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%RH:x = bpow (cexp beta fexp x)
(ex - 1 < cexp beta fexp x < ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%RH:x = bpow (cexp beta fexp x)H0:(ex - 1 < cexp beta fexp x < ex)%Z
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%RH:x = bpow (cexp beta fexp x)H0:(ex - 1 < cexp beta fexp x < ex)%Z
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zx:Rex:ZH0:(ex - 1 < cexp beta fexp x < ex)%Z
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (ex - 1) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(x - ulp x <= x + 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(- ulp x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(- ulp x <= - 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(ulp x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(ulp x <= F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (cexp beta fexp x) <= F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(bpow (cexp beta fexp x) <= IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(1 * bpow (cexp beta fexp x) <= IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(1 <= IZR (Ztrunc (scaled_mantissa beta fexp x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(1 <= IZR (Ztrunc (scaled_mantissa beta fexp x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 < Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%RH:(0 < Ztrunc (scaled_mantissa beta fexp x))%Z
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 < F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%RH:(0 < Ztrunc (scaled_mantissa beta fexp x))%Z
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%RH:(0 < Ztrunc (scaled_mantissa beta fexp x))%Z
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
(0 <= bpow (ex - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%RH:(0 < Ztrunc (scaled_mantissa beta fexp x))%Z
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%RH:(0 < Ztrunc (scaled_mantissa beta fexp x))%Z
(1 <= Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rnow apply Rgt_not_eq. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%RHx:x <> bpow (ex - 1)Ex':(bpow (ex - 1) < x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> let e := mag_val beta x (mag beta x) in x = bpow (e - 1) -> F (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> let e := mag_val beta x (mag beta x) in x = bpow (e - 1) -> F (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)
F (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:R
F (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:R
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:R
(fexp (e - 1) <= e - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) <= e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:R
F (bpow (e - 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) <= e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) <= e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%Z
f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 1) - bpow (fexp (e - 1)))%R = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 1) - bpow (fexp (e - 1)))%R = (IZR (beta ^ (e - 1 - fexp (e - 1)) - 1) * bpow (fexp (e - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 1) - bpow (fexp (e - 1)))%R = ((bpow (e - 1 - fexp (e - 1)) - 1) * bpow (fexp (e - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%Z
(0 <= e - 1 - fexp (e - 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 1) - bpow (fexp (e - 1)))%R = (bpow (e - 1 - fexp (e - 1)) * bpow (fexp (e - 1)) - bpow (fexp (e - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%Z
(0 <= e - 1 - fexp (e - 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 1) - bpow (fexp (e - 1)))%R = (bpow (e - 1 - fexp (e - 1) + fexp (e - 1)) - bpow (fexp (e - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%Z
(0 <= e - 1 - fexp (e - 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%Z
(0 <= e - 1 - fexp (e - 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
F (F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |})beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(beta ^ (e - 1 - fexp (e - 1)) - 1)%Z <> 0%Z -> (cexp beta fexp (F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}) <= fexp (e - 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(cexp beta fexp (F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}) <= fexp (e - 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
cexp beta fexp (F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}) = fexp (e - 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1 - 1) <= Rabs (F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1 - 1) <= Rabs f < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1 - 1) <= Rabs (bpow (e - 1) - bpow (fexp (e - 1))) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1 - 1) <= bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1 - 1) <= bpow (e - 1) - bpow (fexp (e - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (fexp (e - 1)) + bpow (e - 1 - 1) <= bpow (fexp (e - 1)) + (bpow (e - 1) - bpow (fexp (e - 1))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (fexp (e - 1)) + bpow (e - 1 - 1) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (fexp (e - 1)) + bpow (e - 1 - 1) <= bpow (e - 2) + bpow (e - 2))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 2) + bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 2) + bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(2 * bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(2 * bpow (e - 2) <= bpow 1 * bpow (e - 2))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow 1 * bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(0 <= bpow (e - 2))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(2 <= bpow 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow 1 * bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(2 <= bpow 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow 1 * bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(2 <= IZR beta)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
IZR beta = bpow 1beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow 1 * bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(2 <= beta)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
IZR beta = bpow 1beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow 1 * bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(2 <=? beta)%Z = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
IZR beta = bpow 1beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow 1 * bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
IZR beta = bpow 1beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow 1 * bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
IZR beta = IZR (Z.pow_pos beta 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow 1 * bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
IZR beta = IZR (beta * 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow 1 * bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow 1 * bpow (e - 2) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (1 + (e - 2)) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1) + 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(- bpow (fexp (e - 1)) < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(- bpow (fexp (e - 1)) < - 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(0 < bpow (fexp (e - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (e - 1) - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(bpow (fexp (e - 1)) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:(fexp (e - 1) < e - 1)%ZH:f = F2R {| Fnum := beta ^ (e - 1 - fexp (e - 1)) - 1; Fexp := fexp (e - 1) |}
(fexp (e - 1) <= e - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
F 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
0%R = fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
0%R = fbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
0%R = (x - bpow (fexp (e - 1)))%Rring. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHx:x = bpow (e - 1)f:=(x - bpow (fexp (e - 1)))%R:RHe:fexp (e - 1) = (e - 1)%Z
0%R = (bpow (e - 1) - bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%R
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%R
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%R
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(x + ulp x)%R = F2R {| Fnum := Ztrunc ((x + ulp x) * bpow (- fexp (mag beta (x + ulp x)))); Fexp := fexp (mag beta (x + ulp x)) |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(x + ulp x)%R = F2R {| Fnum := Ztrunc ((x + ulp x) * bpow (- fexp ex)); Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} + ulp x)%R = F2R {| Fnum := Ztrunc ((F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} + ulp x) * bpow (- fexp ex)); Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} + bpow (cexp beta fexp x))%R = F2R {| Fnum := Ztrunc ((F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} + bpow (cexp beta fexp x)) * bpow (- fexp ex)); Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(F2R {| Fnum := Ztrunc (x * bpow (- cexp beta fexp x)); Fexp := cexp beta fexp x |} + bpow (cexp beta fexp x))%R = F2R {| Fnum := Ztrunc ((F2R {| Fnum := Ztrunc (x * bpow (- cexp beta fexp x)); Fexp := cexp beta fexp x |} + bpow (cexp beta fexp x)) * bpow (- fexp ex)); Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(F2R {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |} + bpow (fexp ex))%R = F2R {| Fnum := Ztrunc ((F2R {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |} + bpow (fexp ex)) * bpow (- fexp ex)); Fexp := fexp ex |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(IZR (Fnum {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) * bpow (Fexp {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) + bpow (fexp ex))%R = (IZR (Fnum {| Fnum := Ztrunc ((IZR (Fnum {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) * bpow (Fexp {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) + bpow (fexp ex)) * bpow (- fexp ex)); Fexp := fexp ex |}) * bpow (Fexp {| Fnum := Ztrunc ((IZR (Fnum {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) * bpow (Fexp {| Fnum := Ztrunc (x * bpow (- fexp ex)); Fexp := fexp ex |}) + bpow (fexp ex)) * bpow (- fexp ex)); Fexp := fexp ex |}))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) + bpow (fexp ex))%R = (IZR (Ztrunc ((IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) + bpow (fexp ex)) * bpow (- fexp ex))) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) + bpow (fexp ex))%R = (IZR (Ztrunc (IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) * bpow (- fexp ex) + bpow (fexp ex) * bpow (- fexp ex))) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) + bpow (fexp ex))%R = (IZR (Ztrunc (IZR (Ztrunc (x * bpow (- fexp ex))) * (bpow (fexp ex) * bpow (- fexp ex)) + bpow (fexp ex) * bpow (- fexp ex))) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) + bpow (fexp ex))%R = (IZR (Ztrunc (IZR (Ztrunc (x * bpow (- fexp ex))) + bpow 0)) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) + bpow (fexp ex))%R = (IZR (Ztrunc (IZR (Ztrunc (x * bpow (- fexp ex))) + 1)) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) + bpow (fexp ex))%R = (IZR (Ztrunc (IZR (Ztrunc (x * bpow (- fexp ex)) + 1))) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) + bpow (fexp ex))%R = (IZR (Ztrunc (x * bpow (- fexp ex)) + 1) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) + bpow (fexp ex))%R = ((IZR (Ztrunc (x * bpow (- fexp ex))) + 1) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) + bpow (fexp ex))%R = (IZR (Ztrunc (x * bpow (- fexp ex))) * bpow (fexp ex) + 1 * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + ulp x) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= x + ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(0 <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(bpow (ex - 1) <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(x + ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(0 <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(x <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(x + ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(0 <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(x + 0 <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(x + ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(0 <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(x + ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(0 <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(x + ulp x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(0 <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(0 <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x < bpow ex)%R
(0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
F (bpow ex)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
(fexp (ex + 1) <= ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow ex
(fexp ex < ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%Z
(fexp ex < ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%Z
(x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%Z
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%Z
(F2R {| Fnum := 0; Fexp := cexp beta fexp x |} <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%Z
0%Z = Ztrunc (scaled_mantissa beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%Z
(0 <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%Z
0%Z = Ztrunc (scaled_mantissa beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%Z
0%Z = Ztrunc (scaled_mantissa beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%Z
0%Z = Ztrunc (x * bpow (- cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%Z
0%Z = Ztrunc (x * bpow (- fexp ex))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
0%Z = Ztrunc (x * bpow (- fexp ex))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
0%Z = Zfloor (x * bpow (- fexp ex))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
(0 <= x * bpow (- fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
Zfloor (x * bpow (- fexp ex)) = 0%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
(0 <= x * bpow (- fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
(0 <= x * bpow (- fexp ex) < IZR (0 + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
(0 <= x * bpow (- fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
(0 <= x * bpow (- fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
(x * bpow (- fexp ex) < IZR (0 + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
(0 <= x * bpow (- fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
(x * bpow (- fexp ex) < IZR (0 + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
(0 <= x * bpow (- fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:(bpow (ex - 1) <= Rabs x < bpow ex)%REx':(bpow (ex - 1) <= x < bpow ex)%RH:(x + ulp x)%R = bpow exH0:(ex <= fexp ex)%ZH1:(0 < x * bpow (- fexp ex))%RH2:(x * bpow (- fexp ex) < 1)%R
(0 <= x * bpow (- fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rnow apply Rlt_le. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx, Ex':(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> (0 < x)%R -> F (pred_pos x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> (0 < x)%R -> F (pred_pos x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(0 < x)%R
F (pred_pos x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(0 < x)%RH:x = bpow (mag beta x - 1)
F (x - bpow (fexp (mag beta x - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(0 < x)%RH:x <> bpow (mag beta x - 1)
F (x - ulp x)now apply generic_format_pred_aux1. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(0 < x)%RH:x <> bpow (mag beta x - 1)
F (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> F (succ x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> F (succ x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
F (succ x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(0 <= x)%R
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(x < 0)%R
F (- pred_pos (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(0 < x)%R
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:0%R = x
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(x < 0)%R
F (- pred_pos (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:0%R = x
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(x < 0)%R
F (- pred_pos (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:0%R = x
F (ulp 0)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(x < 0)%R
F (- pred_pos (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(x < 0)%R
F (- pred_pos (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(x < 0)%R
F (pred_pos (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(x < 0)%R
(0 < - x)%Rnow apply Ropp_0_gt_lt_contravar. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xZx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> F (pred x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> F (pred x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
F (pred x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
F (- succ (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
F (succ (- x))now apply generic_format_opp. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, x <> 0%R -> (pred_pos x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, x <> 0%R -> (pred_pos x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%R
(pred_pos x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%R
((if Req_bool x (bpow (mag beta x - 1)) then x - bpow (fexp (mag beta x - 1)) else x - ulp x) < x)%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x = bpow (mag beta x - 1)
(x - bpow (fexp (mag beta x - 1)) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x <> bpow (mag beta x - 1)
(x - ulp x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x = bpow (mag beta x - 1)
(x - bpow (fexp (mag beta x - 1)) < x + 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x <> bpow (mag beta x - 1)
(x - ulp x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x = bpow (mag beta x - 1)
(- bpow (fexp (mag beta x - 1)) < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x <> bpow (mag beta x - 1)
(x - ulp x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x = bpow (mag beta x - 1)
(- bpow (fexp (mag beta x - 1)) < - 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x <> bpow (mag beta x - 1)
(x - ulp x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x = bpow (mag beta x - 1)
(0 < bpow (fexp (mag beta x - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x <> bpow (mag beta x - 1)
(x - ulp x < x)%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x <> bpow (mag beta x - 1)
(x - ulp x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x <> bpow (mag beta x - 1)
(x - ulp x < x + 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x <> bpow (mag beta x - 1)
(- ulp x < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x <> bpow (mag beta x - 1)
(- ulp x < - 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x <> bpow (mag beta x - 1)
(0 < ulp x)%Rapply bpow_gt_0. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RH:x <> bpow (mag beta x - 1)
(0 < bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, x <> 0%R -> (x < succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, x <> 0%R -> (x < succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%R
(x < (if Rle_bool 0 x then x + ulp x else - pred_pos (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(0 <= x)%R
(x < x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(x < 0)%R
(x < - pred_pos (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(0 <= x)%R
(x + 0 < x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(x < 0)%R
(x < - pred_pos (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(0 <= x)%R
(0 < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(x < 0)%R
(x < - pred_pos (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(0 <= x)%R
(0 < bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(x < 0)%R
(x < - pred_pos (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(x < 0)%R
(x < - pred_pos (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(x < 0)%R
(- - x < - pred_pos (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(x < 0)%R
(pred_pos (- x) < - x)%Rauto with real. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%RHx:(x < 0)%R
(- x)%R <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, x <> 0%R -> (pred x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, x <> 0%R -> (pred x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%R
(- succ (- x) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%R
(- succ (- x) < - - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%R
(- x < succ (- x))%Rauto with real. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:x <> 0%R
(- x)%R <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (x <= succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (x <= succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
x = 0%R -> (x <= succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
x <> 0%R -> (x <= succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RV:x = 0%R
(0 <= succ 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
x <> 0%R -> (x <= succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RV:x = 0%R
(0 <= 0 + ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
x <> 0%R -> (x <= succ x)%Rintros; left; now apply succ_gt_id. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
x <> 0%R -> (x <= succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (pred x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (pred x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
(- succ (- x) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
(- succ (- x) <= - - x)%Rapply succ_ge_id. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
(- x <= succ (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> (0 <= pred_pos x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> (0 <= pred_pos x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(0 <= pred_pos x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(0 <= (if Req_bool x (bpow (mag beta x - 1)) then x - bpow (fexp (mag beta x - 1)) else x - ulp x))%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x = bpow (mag beta x - 1)
(0 <= x - bpow (fexp (mag beta x - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x = bpow (mag beta x - 1)
(bpow (fexp (mag beta x - 1)) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x = bpow (mag beta x - 1)
(bpow (fexp (mag beta (bpow (mag beta x - 1)) - 1)) <= bpow (mag beta x - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x = bpow (mag beta x - 1)
(fexp (mag beta (bpow (mag beta x - 1)) - 1) <= mag beta x - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RH:x = bpow (Build_mag_prop beta x ex Ex - 1)
(fexp (mag beta (bpow (ex - 1)) - 1) <= ex - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RH:x = bpow (Build_mag_prop beta x ex Ex - 1)
(fexp (ex - 1 + 1 - 1) <= ex - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RH:x = bpow (Build_mag_prop beta x ex Ex - 1)
(fexp (ex - 1) <= ex - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RH:x = bpow (Build_mag_prop beta x ex Ex - 1)
F (bpow (ex - 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZEx:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RH:x = bpow (ex - 1)
F (bpow (ex - 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(0 <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(0 <= x - ulp x)%Rnow apply ulp_le_id. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(ulp x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> (0 <= pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> (0 <= pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(0 <= pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(0 <= pred_pos x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(0 <= x)%Rnow left. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> x <> bpow (mag beta x - 1) -> (x - ulp x + ulp (x - ulp x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> x <> bpow (mag beta x - 1) -> (x - ulp x + ulp (x - ulp x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)
(x - ulp x + ulp (x - ulp x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)
(x - ulp x + ulp x)%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%R
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%R
x <> bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RM:x = bpow (fexp (mag beta x))
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RM:x = bpow (fexp (mag beta x))ex:ZHex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RT:mag beta x = Build_mag_prop beta x ex Hex
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RM:x = bpow (fexp (mag beta x))ex:ZHex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RT:mag beta x = Build_mag_prop beta x ex Hex
mag beta x = exbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RM:x = bpow (fexp (mag beta x))ex:ZHex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RT:mag beta x = Build_mag_prop beta x ex HexLex:mag beta x = ex
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RM:x = bpow (fexp (mag beta x))ex:ZHex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RT:mag beta x = Build_mag_prop beta x ex HexLex:mag beta x = ex
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RM:x = bpow (fexp ex)Hex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RT:mag beta x = Build_mag_prop beta x ex HexLex:mag beta x = ex
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RM:x = bpow (fexp ex)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RM:x = bpow (fexp ex)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RM:x = bpow (fexp ex)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(ex - 1 < fexp ex < ex)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RM:x = bpow (fexp ex)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = exH0:(ex - 1 < fexp ex < ex)%Z
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RM:x = bpow (fexp ex)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RM:x = bpow (fexp ex)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RM:x = bpow (fexp ex)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = exH0:(ex - 1 < fexp ex < ex)%Z
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RM:x = bpow (fexp ex)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RM:x = bpow (fexp ex)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = exH0:(ex - 1 < fexp ex < ex)%Z
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RM:x = bpow (fexp ex)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = exH0:(ex - 1 < fexp ex < ex)%Z
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
ulp x = ulp (x - ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
bpow (cexp beta fexp x) = bpow (cexp beta fexp (x - bpow (cexp beta fexp x)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
cexp beta fexp x = cexp beta fexp (x - bpow (cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)
mag beta x = mag beta (x - bpow (fexp (mag beta x)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)ex:ZHex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RT:mag beta x = Build_mag_prop beta x ex Hex
Build_mag_prop beta x ex Hex = mag beta (x - bpow (fexp (Build_mag_prop beta x ex Hex)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)ex:ZHex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RT:mag beta x = Build_mag_prop beta x ex Hex
mag beta x = exbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)ex:ZHex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RT:mag beta x = Build_mag_prop beta x ex HexLex:mag beta x = ex
Build_mag_prop beta x ex Hex = mag beta (x - bpow (fexp (Build_mag_prop beta x ex Hex)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xHx:x <> bpow (mag beta x - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)ex:ZHex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RT:mag beta x = Build_mag_prop beta x ex HexLex:mag beta x = ex
Build_mag_prop beta x ex Hex = mag beta (x - bpow (fexp (Build_mag_prop beta x ex Hex)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
ex = mag beta (x - bpow (fexp ex))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
ex = mag beta (x - bpow (fexp ex))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= Rabs (x - bpow (fexp ex)) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - bpow (fexp ex) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - bpow (fexp ex) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - bpow (fexp ex) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:(bpow (ex - 1) < x)%RH2:(x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:bpow (ex - 1) = xH2:(x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:(bpow (ex - 1) < x)%RH2:(x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:(bpow (ex - 1) < x)%RH2:(x < bpow ex)%RLex:mag beta x = ex
(x - ulp x <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:bpow (ex - 1) = xH2:(x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:(bpow (ex - 1) < x)%RH2:(x < bpow ex)%RLex:mag beta x = ex
x <> ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:(bpow (ex - 1) < x)%RH2:(x < bpow ex)%RLex:mag beta x = ex
(x - ulp x <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:bpow (ex - 1) = xH2:(x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:(bpow (ex - 1) < x)%RH2:(x < bpow ex)%RLex:mag beta x = ex
(x - ulp x <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:bpow (ex - 1) = xH2:(x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:(bpow (ex - 1) < x)%RH2:(x < bpow ex)%RLex:mag beta x = ex
(x - bpow (cexp beta fexp x) <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:bpow (ex - 1) = xH2:(x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)H1:bpow (ex - 1) = xH2:(x < bpow ex)%RLex:mag beta x = ex
(bpow (ex - 1) <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) <= x + 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(- bpow (fexp ex) <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(- bpow (fexp ex) <= - 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= x < bpow ex)%RLex:mag beta x = ex
(0 <= bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(x - bpow (fexp ex) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(0 <= x - bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(bpow (fexp ex) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(bpow (fexp ex) <= F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(bpow (fexp ex) <= IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (fexp (mag beta x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(bpow (fexp ex) <= IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(1 * bpow (fexp ex) <= IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(0 <= bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(1 <= IZR (Ztrunc (scaled_mantissa beta fexp x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(1 <= IZR (Ztrunc (scaled_mantissa beta fexp x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(0 < Ztrunc (scaled_mantissa beta fexp x))%Znow rewrite <- Fx. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xex:ZHx:x <> bpow (ex - 1)H:x <> 0%RH':x <> bpow (cexp beta fexp x)Hex:(bpow (ex - 1) <= Rabs x < bpow ex)%RLex:mag beta x = ex
(0 < F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> let e := mag_val beta x (mag beta x) in x = bpow (e - 1) -> (x - bpow (fexp (e - 1)))%R <> 0%R -> (x - bpow (fexp (e - 1)) + ulp (x - bpow (fexp (e - 1))))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> let e := mag_val beta x (mag beta x) in x = bpow (e - 1) -> (x - bpow (fexp (e - 1)))%R <> 0%R -> (x - bpow (fexp (e - 1)) + ulp (x - bpow (fexp (e - 1))))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%R
(x - bpow (fexp (e - 1)) + ulp (x - bpow (fexp (e - 1))))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%R
(x - bpow (fexp (e - 1)) + bpow (fexp (e - 1)))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%R
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%R
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%R
(fexp (e - 1) <= e - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) <= e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%R
F (bpow (e - 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) <= e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) <= e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
bpow (fexp (e - 1)) = bpow (cexp beta fexp (x - bpow (fexp (e - 1))))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
fexp (e - 1) = cexp beta fexp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(e - 1)%Z = mag beta (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
mag beta (x - bpow (fexp (e - 1))) = (e - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 1 - 1) <= Rabs (x - bpow (fexp (e - 1))) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 1 - 1) <= x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 1 - 1) <= x - bpow (fexp (e - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (fexp (e - 1)) + bpow (e - 1 - 1) <= bpow (fexp (e - 1)) + (x - bpow (fexp (e - 1))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (fexp (e - 1)) + bpow (e - 1 - 1) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (fexp (e - 1)) + bpow (e - 1 - 1) <= bpow (e - 2) + bpow (e - 2))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 2) + bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 2) + bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(2 * bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(2 * bpow (e - 2) <= bpow 1 * bpow (e - 2))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow 1 * bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(0 <= bpow (e - 2))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(2 <= bpow 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow 1 * bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(2 <= bpow 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow 1 * bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(2 <= IZR beta)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
IZR beta = bpow 1beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow 1 * bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(2 <= beta)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
IZR beta = bpow 1beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow 1 * bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(2 <=? beta)%Z = truebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
IZR beta = bpow 1beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow 1 * bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
IZR beta = bpow 1beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow 1 * bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
IZR beta = IZR (Z.pow_pos beta 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow 1 * bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
IZR beta = IZR (beta * 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow 1 * bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow 1 * bpow (e - 2) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (1 + (e - 2)) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 1) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (e - 1) - bpow (fexp (e - 1)) < bpow (e - 1) + 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(- bpow (fexp (e - 1)) < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(- bpow (fexp (e - 1)) < - 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(0 < bpow (fexp (e - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(x - bpow (fexp (e - 1)) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (fexp (e - 1)) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(bpow (fexp (e - 1)) <= bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:(fexp (e - 1) < e - 1)%Z
(fexp (e - 1) <= e - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)Zp:(x - bpow (fexp (e - 1)))%R <> 0%RHe:fexp (e - 1) = (e - 1)%Z
bpow (fexp (e - 1)) = ulp (x - bpow (fexp (e - 1)))rewrite Hxe, He; ring. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZHxe:x = bpow (e - 1)He:fexp (e - 1) = (e - 1)%Z
(x - bpow (fexp (e - 1)))%R = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> let e := mag_val beta x (mag beta x) in x = bpow (e - 1) -> (x - bpow (fexp (e - 1)))%R = 0%R -> ulp 0 = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> let e := mag_val beta x (mag beta x) in x = bpow (e - 1) -> (x - bpow (fexp (e - 1)))%R = 0%R -> ulp 0 = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%R
ulp 0 = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%R
x = bpow (fexp (e - 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))
ulp 0 = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))
ulp 0 = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))
fexp (e - 1) = (e - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Z
ulp 0 = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))
bpow (fexp (e - 1)) = bpow (e - 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Z
ulp 0 = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Z
ulp 0 = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Z
match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Z
(forall n : Z, (fexp n < n)%Z) -> 0%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Z
forall n : Z, (n <= fexp n)%Z -> bpow (fexp n) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%ZK:forall n : Z, (fexp n < n)%Z
0%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Z
forall n : Z, (n <= fexp n)%Z -> bpow (fexp n) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%ZK:(fexp (e - 1) < e - 1)%Z
0%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Z
forall n : Z, (n <= fexp n)%Z -> bpow (fexp n) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Z
forall n : Z, (n <= fexp n)%Z -> bpow (fexp n) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Zn:ZHn:(n <= fexp n)%Z
bpow (fexp n) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Zn:ZHn:(n <= fexp n)%Z
fexp n = fexp (e - 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Zn:ZHn:(n <= fexp n)%ZH6:(n <= e - 1)%Z
fexp n = fexp (e - 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Zn:ZHn:(n <= fexp n)%ZH6:(e - 1 < n)%Z
fexp n = fexp (e - 1)apply sym_eq, valid_exp; omega. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xe:=mag_val beta x (mag beta x):ZH1:x = bpow (e - 1)H2:(x - bpow (fexp (e - 1)))%R = 0%RH3:x = bpow (fexp (e - 1))H4:fexp (e - 1) = (e - 1)%Zn:ZHn:(n <= fexp n)%ZH6:(e - 1 < n)%Z
fexp n = fexp (e - 1)
The following one is false for x = 0 in FTZ
beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> (pred_pos x + ulp (pred_pos x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> (pred_pos x + ulp (pred_pos x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
(pred_pos x + ulp (pred_pos x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F x
((if Req_bool x (bpow (mag beta x - 1)) then x - bpow (fexp (mag beta x - 1)) else x - ulp x) + ulp (if Req_bool x (bpow (mag beta x - 1)) then x - bpow (fexp (mag beta x - 1)) else x - ulp x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x = bpow (mag beta x - 1)
(x - bpow (fexp (mag beta x - 1)) + ulp (x - bpow (fexp (mag beta x - 1))))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(x - ulp x + ulp (x - ulp x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x = bpow (mag beta x - 1)H1:(x - bpow (fexp (mag beta x - 1)))%R = 0%R
(x - bpow (fexp (mag beta x - 1)) + ulp (x - bpow (fexp (mag beta x - 1))))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x = bpow (mag beta x - 1)H1:(x - bpow (fexp (mag beta x - 1)))%R <> 0%R
(x - bpow (fexp (mag beta x - 1)) + ulp (x - bpow (fexp (mag beta x - 1))))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(x - ulp x + ulp (x - ulp x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x = bpow (mag beta x - 1)H1:(x - bpow (fexp (mag beta x - 1)))%R = 0%R
ulp 0 = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x = bpow (mag beta x - 1)H1:(x - bpow (fexp (mag beta x - 1)))%R <> 0%R
(x - bpow (fexp (mag beta x - 1)) + ulp (x - bpow (fexp (mag beta x - 1))))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(x - ulp x + ulp (x - ulp x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x = bpow (mag beta x - 1)H1:(x - bpow (fexp (mag beta x - 1)))%R <> 0%R
(x - bpow (fexp (mag beta x - 1)) + ulp (x - bpow (fexp (mag beta x - 1))))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(x - ulp x + ulp (x - ulp x))%R = xnow apply pred_pos_plus_ulp_aux1. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xH:x <> bpow (mag beta x - 1)
(x - ulp x + ulp (x - ulp x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> (pred x + ulp (pred x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> (pred x + ulp (pred x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F x
(pred x + ulp (pred x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F x
(pred_pos x + ulp (pred_pos x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F x
(0 <= x)%Rnow apply Rlt_le. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F x
(0 <= x)%R
Rounding x + small epsilon
beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> forall eps : R, (0 <= eps < ulp x)%R -> mag beta (x + eps) = mag beta xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> forall eps : R, (0 <= eps < ulp x)%R -> mag beta (x + eps) = mag beta xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
mag beta (x + eps) = mag beta xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%R
mag beta (x + eps) = Build_mag_prop beta x ex Hebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%R
mag beta (x + eps) = exbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
mag beta (x + eps) = exbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(bpow (ex - 1) <= Rabs (x + eps) < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(bpow (ex - 1) <= x + eps < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(bpow (ex - 1) <= x + eps < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(bpow (ex - 1) <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(x + eps < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(x <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(x + eps < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(x + 0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(x + eps < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(x + eps < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(x + eps < x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(x + ulp x <= bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(x + ulp x <= bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} + ulp x <= bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} + bpow (cexp beta fexp x) <= bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(IZR (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (Fexp {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) + bpow (cexp beta fexp x) <= bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) + bpow (cexp beta fexp x) <= bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) + 1 * bpow (cexp beta fexp x) <= bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
((IZR (Ztrunc (scaled_mantissa beta fexp x)) + 1) * bpow (cexp beta fexp x) <= bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x) + 1) * bpow (cexp beta fexp x) <= bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(0 < Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := fexp (mag beta x) |} < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(0 < F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := fexp (mag beta x) |} < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := fexp (mag beta x) |} < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= x < bpow ex)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= eps)%Rapply Heps. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%Rex:ZHe:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= x)%R -> F x -> forall eps : R, (0 <= eps < ulp x)%R -> round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= x)%R -> F x -> forall eps : R, (0 <= eps < ulp x)%R -> round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = x(* . 0 < x *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
F2R {| Fnum := Zfloor (scaled_mantissa beta fexp (x + eps)); Fexp := cexp beta fexp (x + eps) |} = F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
F2R {| Fnum := Zfloor ((x + eps) * bpow (- cexp beta fexp (x + eps))); Fexp := cexp beta fexp (x + eps) |} = F2R {| Fnum := Ztrunc (x * bpow (- cexp beta fexp x)); Fexp := cexp beta fexp x |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
F2R {| Fnum := Zfloor ((x + eps) * bpow (- cexp beta fexp (x + eps))); Fexp := cexp beta fexp (x + eps) |} = F2R {| Fnum := Ztrunc (x * bpow (- cexp beta fexp x)); Fexp := cexp beta fexp x |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
F2R {| Fnum := Zfloor ((x + eps) * bpow (- fexp (mag beta (x + eps)))); Fexp := fexp (mag beta (x + eps)) |} = F2R {| Fnum := Ztrunc (x * bpow (- cexp beta fexp x)); Fexp := cexp beta fexp x |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
F2R {| Fnum := Zfloor ((x + eps) * bpow (- fexp (mag beta x))); Fexp := fexp (mag beta x) |} = F2R {| Fnum := Ztrunc (x * bpow (- cexp beta fexp x)); Fexp := cexp beta fexp x |}beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
Zfloor ((x + eps) * bpow (- fexp (mag beta x))) = Ztrunc (x * bpow (- cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
Zfloor ((x + eps) * bpow (- fexp (mag beta x))) = Zfloor (x * bpow (- cexp beta fexp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(IZR (Zfloor (x * bpow (- cexp beta fexp x))) <= (x + eps) * bpow (- fexp (mag beta x)) < IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(IZR (Zfloor (x * bpow (- cexp beta fexp x))) <= (x + eps) * bpow (- fexp (mag beta x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
((x + eps) * bpow (- fexp (mag beta x)) < IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(x * bpow (- cexp beta fexp x) <= (x + eps) * bpow (- fexp (mag beta x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
((x + eps) * bpow (- fexp (mag beta x)) < IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= bpow (- fexp (mag beta x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(x <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
((x + eps) * bpow (- fexp (mag beta x)) < IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(x <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
((x + eps) * bpow (- fexp (mag beta x)) < IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(x + 0 <= x + eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
((x + eps) * bpow (- fexp (mag beta x)) < IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
((x + eps) * bpow (- fexp (mag beta x)) < IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
((x + eps) * bpow (- fexp (mag beta x)) < (x + ulp x) * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
((x + ulp x) * bpow (- cexp beta fexp x) <= IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 < bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(x + eps < x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
((x + ulp x) * bpow (- cexp beta fexp x) <= IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(x + eps < x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
((x + ulp x) * bpow (- cexp beta fexp x) <= IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
((x + ulp x) * bpow (- cexp beta fexp x) <= IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(x * bpow (- cexp beta fexp x) + ulp x * bpow (- cexp beta fexp x) <= IZR (Zfloor (x * bpow (- cexp beta fexp x)) + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(x * bpow (- cexp beta fexp x) + ulp x * bpow (- cexp beta fexp x) <= IZR (Zfloor (x * bpow (- cexp beta fexp x))) + 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(x * bpow (- cexp beta fexp x) <= IZR (Zfloor (x * bpow (- cexp beta fexp x))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(ulp x * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} * bpow (- cexp beta fexp x) <= IZR (Zfloor (F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |} * bpow (- cexp beta fexp x))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(ulp x * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(IZR (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (Fexp {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (- cexp beta fexp x) <= IZR (Zfloor (IZR (Fnum {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (Fexp {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |}) * bpow (- cexp beta fexp x))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(ulp x * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) * bpow (- cexp beta fexp x) <= IZR (Zfloor (IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) * bpow (- cexp beta fexp x))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(ulp x * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x)) * (bpow (cexp beta fexp x) * bpow (- cexp beta fexp x)) <= IZR (Zfloor (IZR (Ztrunc (scaled_mantissa beta fexp x)) * (bpow (cexp beta fexp x) * bpow (- cexp beta fexp x)))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(ulp x * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x + - cexp beta fexp x) <= IZR (Zfloor (IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x + - cexp beta fexp x))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(ulp x * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow 0 <= IZR (Zfloor (IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow 0)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(ulp x * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x)) <= IZR (Zfloor (IZR (Ztrunc (scaled_mantissa beta fexp x)))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(ulp x * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(IZR (Ztrunc (scaled_mantissa beta fexp x)) <= IZR (Ztrunc (scaled_mantissa beta fexp x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(ulp x * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(ulp x * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(bpow (cexp beta fexp x) * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(bpow (cexp beta fexp x) * bpow (- cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(bpow (cexp beta fexp x + - cexp beta fexp x) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(bpow 0 <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x * bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 < x)%RFx:F xeps:RHeps:(0 <= eps < ulp x)%R
(0 <= bpow (- cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = x(* . x=0 *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%R
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:(0 < eps)%R
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:(0 < eps)%R
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%R
(0 <= eps < (if Req_bool 0 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0 end else bpow (cexp beta fexp 0)))%R -> F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%R
(0 <= eps < match negligible_exp with | Some n => bpow (fexp n) | None => 0 end)%R -> F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%R
(forall n : Z, (fexp n < n)%Z) -> (0 <= eps < 0)%R -> F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%R
forall n : Z, (n <= fexp n)%Z -> (0 <= eps < bpow (fexp n))%R -> F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%RH1:(0 <= eps)%RH2:(eps < 0)%R
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%R
forall n : Z, (n <= fexp n)%Z -> (0 <= eps < bpow (fexp n))%R -> F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%R
forall n : Z, (n <= fexp n)%Z -> (0 <= eps < bpow (fexp n))%R -> F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%R
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%R
fexp (mag beta eps) = fexp nbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%R
(mag beta eps <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%R
(mag beta eps - 1 < fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%R
(bpow (mag beta eps - 1) < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%R
(bpow (mag beta eps - 1) <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%Re:ZHe:eps <> 0%R -> (bpow (e - 1) <= Rabs eps < bpow e)%R
(bpow (Build_mag_prop beta eps e He - 1) <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%Re:ZHe:eps <> 0%R -> (bpow (e - 1) <= eps < bpow e)%R
(bpow (e - 1) <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%Re:ZHe:eps <> 0%R -> (bpow (e - 1) <= Rabs eps < bpow e)%R
(0 <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%Re:ZHe:eps <> 0%R -> (bpow (e - 1) <= Rabs eps < bpow e)%R
(0 <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zfloor (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := 0; Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
0%Z = Zfloor (eps * bpow (- fexp (mag beta eps)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
0%Z = Zfloor (eps * bpow (- fexp (mag beta eps)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(0 <= eps * bpow (- fexp (mag beta eps)) < IZR (0 + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(0 <= eps * bpow (- fexp (mag beta eps)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) < IZR (0 + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(0 <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(0 <= bpow (- fexp (mag beta eps)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) < IZR (0 + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(0 <= bpow (- fexp (mag beta eps)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) < IZR (0 + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) < IZR (0 + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(0 < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) * bpow (fexp n) < IZR (0 + 1) * bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) * bpow (fexp n) < IZR (0 + 1) * bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps) + fexp n) < IZR (0 + 1) * bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow 0 < IZR (0 + 1) * bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RP:(0 < eps)%Rn:ZHn:(n <= fexp n)%ZH:(0 <= eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
round beta fexp Zfloor eps = 0%Rapply valid_rnd_DN. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:0%R = xFx:F xeps:RHeps:(0 <= eps < ulp 0)%RP:0%R = eps
Valid_rnd Zfloorbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= x)%R -> F x -> forall eps : R, (0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= x)%R -> F x -> forall eps : R, (0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:R
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%R(* . 0 < x *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%R
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%R
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%R
(0 <= eps < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%R
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%R
(0 <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%R
(eps < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%R
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%R
(eps < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%R
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%R
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
(round beta fexp Zfloor (x + eps) + ulp (x + eps))%R = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
~ F (x + eps)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
(x + ulp (x + eps))%R = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
~ F (x + eps)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
(x + bpow (cexp beta fexp (x + eps)))%R = (x + bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
(x + eps)%R <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
~ F (x + eps)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
(x + bpow (fexp (mag beta (x + eps))))%R = (x + bpow (fexp (mag beta x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
(x + eps)%R <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
~ F (x + eps)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
(x + eps)%R <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
~ F (x + eps)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
(x + eps)%R <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
~ F (x + eps)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = x
~ F (x + eps)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:round beta fexp Zfloor (x + eps) = xFs:F (x + eps)
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:(x + eps)%R = xFs:F (x + eps)
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:(x + eps)%R = xFs:F (x + eps)
(x + eps > x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:(eps < ulp x)%RHeps:(0 <= eps < ulp x)%RHd:(x + eps)%R = xFs:F (x + eps)
(x + eps > x + 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
round beta fexp Zceil (x + ulp x) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:(0 < x)%RHeps1:(0 < eps)%RHeps2:eps = ulp x
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%R(* . x=0 *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp x)%R -> round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = x
(0 < eps <= ulp 0)%R -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
(eps < ulp 0)%R -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
(eps < ulp 0)%R -> F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
(eps < (if Req_bool 0 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0 end else bpow (cexp beta fexp 0)))%R -> F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = (if Req_bool 0 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp 0))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
(eps < match negligible_exp with | Some n => bpow (fexp n) | None => 0 end)%R -> F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = match negligible_exp with | Some n => bpow (fexp n) | None => 0%R endbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
(forall n : Z, (fexp n < n)%Z) -> (eps < 0)%R -> F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
forall n : Z, (n <= fexp n)%Z -> (eps < bpow (fexp n))%R -> F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
forall n : Z, (n <= fexp n)%Z -> (eps < bpow (fexp n))%R -> F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%R
F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%R
fexp (mag beta eps) = fexp nbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%R
(mag beta eps <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%R
(mag beta eps - 1 < fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%R
(bpow (mag beta eps - 1) < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%R
(bpow (mag beta eps - 1) <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%Re:ZHe:eps <> 0%R -> (bpow (e - 1) <= Rabs eps < bpow e)%R
(bpow (Build_mag_prop beta eps e He - 1) <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%Re:ZHe:eps <> 0%R -> (bpow (e - 1) <= eps < bpow e)%R
(bpow (e - 1) <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%Re:ZHe:eps <> 0%R -> (bpow (e - 1) <= Rabs eps < bpow e)%R
(0 <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%Re:ZHe:eps <> 0%R -> (bpow (e - 1) <= Rabs eps < bpow e)%R
(0 <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := Zceil (eps * bpow (- fexp (mag beta eps))); Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
F2R {| Fnum := 1; Fexp := fexp (mag beta eps) |} = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
1%Z = Zceil (eps * bpow (- fexp (mag beta eps)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
1%Z = Zceil (eps * bpow (- fexp (mag beta eps)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(IZR (1 - 1) < eps * bpow (- fexp (mag beta eps)) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(IZR (1 - 1) < eps * bpow (- fexp (mag beta eps)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(0 < eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(0 < bpow (- fexp (mag beta eps)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(0 < bpow (- fexp (mag beta eps)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) <= 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(0 < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) * bpow (fexp n) <= 1 * bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps)) * bpow (fexp n) <= 1 * bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow (- fexp (mag beta eps) + fexp n) <= 1 * bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps * bpow 0 <= 1 * bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%Rn:ZHn:(n <= fexp n)%ZH:(eps < bpow (fexp n))%RH0:fexp (mag beta eps) = fexp n
(eps <= bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%R
eps = ulp 0 -> round beta fexp Zceil eps = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%RP:eps = ulp 0
round beta fexp Zceil (ulp 0) = ulp 0apply generic_format_ulp_0. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RZx:(0 <= x)%RFx:F xeps:RZx1:0%R = xHeps:(0 < eps <= ulp 0)%RP:eps = ulp 0
F (ulp 0)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> forall eps : R, (0 < eps <= ulp (pred x))%R -> round beta fexp Zceil (pred x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> forall eps : R, (0 < eps <= ulp (pred x))%R -> round beta fexp Zceil (pred x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
round beta fexp Zceil (pred x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
(pred x + ulp (pred x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
(0 <= pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
F (pred x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
(pred_pos x + ulp (pred_pos x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
(0 <= pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
F (pred x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
(0 <= pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
F (pred x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
(0 <= pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
F (pred x)apply generic_format_pred; trivial. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred x))%R
F (pred x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> forall eps : R, (0 < eps <= ulp (pred x))%R -> round beta fexp Zfloor (x - eps) = pred xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 < x)%R -> F x -> forall eps : R, (0 < eps <= ulp (pred x))%R -> round beta fexp Zfloor (x - eps) = pred xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:R
(0 < eps <= ulp (pred x))%R -> round beta fexp Zfloor (x - eps) = pred xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
round beta fexp Zfloor (x - eps) = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
round beta fexp Zfloor (pred_pos x + (ulp (pred_pos x) - eps)) = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(pred_pos x + (ulp (pred_pos x) - eps))%R = (x - eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
round beta fexp Zfloor (pred_pos x + (ulp (pred_pos x) - eps)) = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(pred_pos x + (ulp (pred_pos x) - eps))%R = (pred_pos x + ulp (pred_pos x) - eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
round beta fexp Zfloor (pred_pos x + (ulp (pred_pos x) - eps)) = pred_pos xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(0 <= pred_pos x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
F (pred_pos x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(0 <= ulp (pred_pos x) - eps < ulp (pred_pos x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
F (pred_pos x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(0 <= ulp (pred_pos x) - eps < ulp (pred_pos x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(0 <= ulp (pred_pos x) - eps < ulp (pred_pos x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(0 <= ulp (pred_pos x) - eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(ulp (pred_pos x) - eps < ulp (pred_pos x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(eps <= ulp (pred_pos x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(ulp (pred_pos x) - eps < ulp (pred_pos x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(ulp (pred_pos x) - eps < ulp (pred_pos x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(ulp (pred_pos x) - eps < ulp (pred_pos x) + 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(- eps < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(- eps < - 0)%Rnow apply Heps. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHpx:(0 < x)%RFx:F xeps:RHeps:(0 < eps <= ulp (pred_pos x))%R
(0 < eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> forall eps : R, (0 <= eps < (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%R -> round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> forall eps : R, (0 <= eps < (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%R -> round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(0 <= x)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(x < 0)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(0 <= x)%R
(0 <= eps < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(x < 0)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(0 <= x)%R
(eps < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(x < 0)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp x)%RZx:(0 <= x)%R
(eps < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(x < 0)%R
round beta fexp Zfloor (x + eps) = x(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(x < 0)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
round beta fexp Zfloor (x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
round beta fexp Zfloor (- - (x + eps)) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
round beta fexp Zfloor (- - (x + eps)) = (- - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(- round beta fexp Zceil (- (x + eps)))%R = (- - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
round beta fexp Zceil (- (x + eps)) = (- x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
round beta fexp Zceil (pred (- x) + (ulp (pred (- x)) - eps)) = (- x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(pred (- x) + (ulp (pred (- x)) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(0 < ulp (pred (- x)) - eps <= ulp (pred (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(pred (- x) + (ulp (pred (- x)) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(0 < ulp (pred (- x)) - eps <= ulp (pred (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(pred (- x) + (ulp (pred (- x)) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(0 < ulp (pred (- x)) - eps <= ulp (pred (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(pred (- x) + (ulp (pred (- x)) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(0 < ulp (pred (- x)) - eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(ulp (pred (- x)) - eps <= ulp (pred (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(pred (- x) + (ulp (pred (- x)) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(eps < ulp (pred (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(ulp (pred (- x)) - eps <= ulp (pred (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(pred (- x) + (ulp (pred (- x)) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(ulp (pred (- x)) - eps <= ulp (pred (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(pred (- x) + (ulp (pred (- x)) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(pred (- x) + (ulp (pred (- x)) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(pred (- x) + (ulp (pred (- x)) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(- succ (- - x) + (ulp (- succ (- - x)) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (ulp (- succ x) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(- - pred_pos (- x) + (ulp (- - pred_pos (- x)) - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(pred_pos (- x) + (ulp (pred_pos (- x)) + - eps))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(- x + - eps)%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)now apply generic_format_opp. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 <= eps < ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> forall eps : R, (0 < eps <= (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%R -> round beta fexp Zceil (x + eps) = succ xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> forall eps : R, (0 < eps <= (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%R -> round beta fexp Zceil (x + eps) = succ xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%R
round beta fexp Zceil (x + eps) = succ xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(0 <= x)%R
round beta fexp Zceil (x + eps) = succ xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(x < 0)%R
round beta fexp Zceil (x + eps) = succ xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(0 <= x)%R
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(x < 0)%R
round beta fexp Zceil (x + eps) = succ xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp x)%RZx:(0 <= x)%R
round beta fexp Zceil (x + eps) = (x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(x < 0)%R
round beta fexp Zceil (x + eps) = succ x(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool 0 x then ulp x else ulp (pred (- x))))%RZx:(x < 0)%R
round beta fexp Zceil (x + eps) = succ xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
round beta fexp Zceil (x + eps) = succ xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
round beta fexp Zceil (- - (x + eps)) = succ xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
round beta fexp Zceil (- - (x + eps)) = (- - succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- round beta fexp Zfloor (- (x + eps)))%R = (- - succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
round beta fexp Zfloor (- (x + eps)) = (- succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
round beta fexp Zfloor (- succ x + (- eps + ulp (pred (- x)))) = (- succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= - succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- succ x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= - eps + ulp (pred (- x)) < ulp (- succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= pred (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- succ x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= - eps + ulp (pred (- x)) < ulp (- succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- succ x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= - eps + ulp (pred (- x)) < ulp (- succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- succ x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= - eps + ulp (pred (- x)) < ulp (- succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- succ x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= - eps + ulp (pred (- x)) < ulp (- succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= - eps + ulp (pred (- x)) < ulp (- succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= - eps + ulp (pred (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- eps + ulp (pred (- x)) < ulp (- succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(eps <= ulp (pred (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- eps + ulp (pred (- x)) < ulp (- succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- eps + ulp (pred (- x)) < ulp (- succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- eps + ulp (- succ x) < ulp (- succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 < eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- succ x + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- - pred_pos (- x) + (- eps + ulp (pred (- x))))%R = (- (x + eps))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- - pred_pos (- x) + (- eps + ulp (pred (- x))))%R = (- x + - eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- - pred_pos (- x) + (- eps + ulp (pred (- x))))%R = (pred_pos (- x) + ulp (pred_pos (- x)) + - eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(- - pred_pos (- x) + (- eps + ulp (pred_pos (- x))))%R = (pred_pos (- x) + ulp (pred_pos (- x)) + - eps)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)now apply generic_format_opp. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= ulp (pred (- x)))%RZx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (0 <= x < y)%R -> (x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (0 <= x < y)%R -> (x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%R
(0 < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%R
(x < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%R
(0 < pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%R
(0 <= pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 <= pred y)%R
(0 < pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 <= pred y)%R
(0 < pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred y
(0 < pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred y
0%R = pred y -> (0 < pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred y
0%R = pred_pos y -> (0 < pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred y
0%R = (if Req_bool y (bpow (mag beta y - 1)) then (y - bpow (fexp (mag beta y - 1)))%R else (y - ulp y)%R) -> (0 < (if Req_bool y (bpow (mag beta y - 1)) then y - bpow (fexp (mag beta y - 1)) else y - ulp y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%R
0%R = (if Req_bool y (bpow (ey - 1)) then (y - bpow (fexp (ey - 1)))%R else (y - ulp y)%R) -> (0 < (if Req_bool y (bpow (ey - 1)) then y - bpow (fexp (ey - 1)) else y - ulp y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%R(* . *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)
0%R = (y - bpow (fexp (ey - 1)))%R -> (0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%R
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%R
(ey - 1)%Z = fexp (ey - 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%R
bpow (ey - 1) = bpow (fexp (ey - 1))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%R
y = (y - bpow (fexp (ey - 1)) + bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%R
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%R
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:x <> 0%R -> (bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(ex <= ey)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%Z
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(bpow (ex - 1) < bpow ey)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%Z
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(Rabs x < bpow ey)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%Z
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(Rabs x < Rabs y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(Rabs y < bpow ey)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%Z
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(x < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(y >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(x >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(Rabs y < bpow ey)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%Z
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(y >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(x >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(Rabs y < bpow ey)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%Z
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(x >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(Rabs y < bpow ey)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%Z
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
(Rabs y < bpow ey)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%Z
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%R
y <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%Z
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%Z
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%Z
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%Z
fexp ex = fexp (ey - 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%Z
(ey - 1 <= fexp (ey - 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%Z
(ex <= fexp (ey - 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%Z
(ex <= fexp (ey - 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%Z
(ex <= ey - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
~ (0 < Ztrunc (scaled_mantissa beta fexp x) < 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(0 < Ztrunc (scaled_mantissa beta fexp x) < 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(0 < Ztrunc (scaled_mantissa beta fexp x) < 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(0 < Ztrunc (scaled_mantissa beta fexp x))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(Ztrunc (scaled_mantissa beta fexp x) < 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(0 < F2R {| Fnum := Ztrunc (scaled_mantissa beta fexp x); Fexp := cexp beta fexp x |})%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(Ztrunc (scaled_mantissa beta fexp x) < 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(Ztrunc (scaled_mantissa beta fexp x) < 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(IZR (Ztrunc (scaled_mantissa beta fexp x)) < 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(0 < bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) < 1 * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(IZR (Ztrunc (scaled_mantissa beta fexp x)) * bpow (cexp beta fexp x) < 1 * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(x < 1 * bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(x < bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(x < bpow (fexp (mag beta x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(x < bpow (fexp ex))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(bpow (ex - 1) <= Rabs x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(x < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(bpow (ex - 1) <= Rabs x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:(ex < ey)%ZH3:fexp ex = fexp (ey - 1)
(bpow (ex - 1) <= Rabs x < bpow ex)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(0 < y - bpow (fexp (ey - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
~ (y <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(y <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(y <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(y <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(x >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(y <= bpow (ex - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(x >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(bpow (ey - 1) <= bpow (ey - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(x >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y = bpow (ey - 1)Hy3:0%R = (y - bpow (fexp (ey - 1)))%RH1:(ey - 1)%Z = fexp (ey - 1)Zx:x <> 0%Rex:ZHex:(bpow (ex - 1) <= Rabs x < bpow ex)%RH2:(ex <= ey)%ZHexy:ex = ey
(x >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%R(* . *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)
0%R = (y - ulp y)%R -> (0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%R
(0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%R
y = bpow (fexp ey)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%R
(y - bpow (fexp ey))%R = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%R
(y - bpow (fexp ey))%R = (y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%R
(y - bpow (fexp ey))%R = (y - bpow (cexp beta fexp y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%R
(y - bpow (fexp ey))%R = (y - bpow (fexp (mag beta y)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%R
(bpow (ey - 1) <= Rabs y < bpow ey)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%R
y <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy2:y <> bpow (ey - 1)Hy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(0 < y - ulp y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
y = bpow (ey - 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
bpow (fexp ey) = bpow (ey - 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
fexp ey = (ey - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(1 + fexp ey)%Z = (1 + (ey - 1))%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(fexp ey + 1)%Z = eybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(fexp ey + 1)%Z = mag beta ybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
mag beta y = eybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey + 1 - 1) <= Rabs y < bpow (fexp ey + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
mag beta y = eybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey + 1 - 1) <= bpow (fexp ey) < bpow (fexp ey + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
mag beta y = eybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey + 1 - 1) <= bpow (fexp ey))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey) < bpow (fexp ey + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
mag beta y = eybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(fexp ey + 1 - 1 <= fexp ey)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey) < bpow (fexp ey + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
mag beta y = eybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey) < bpow (fexp ey + 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
mag beta y = eybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(fexp ey < fexp ey + 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
mag beta y = eybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (fexp ey) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
mag beta y = eybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
mag beta y = eybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
(bpow (ey - 1) <= Rabs y < bpow ey)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RH0:0%R = pred yey:ZHey:y <> 0%R -> (bpow (ey - 1) <= Rabs y < bpow ey)%RHy3:0%R = (y - ulp y)%RH1:y = bpow (fexp ey)
y <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%R(* . *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(ulp (pred_pos y) <= y - x)%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(ulp (pred_pos y) <= y - x)%R
(x + (- x + ulp (pred_pos y)) <= pred_pos y + (- x + ulp (pred_pos y)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(ulp (pred_pos y) <= y - x)%R
(ulp (pred_pos y) <= pred_pos y + (- x + ulp (pred_pos y)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(ulp (pred_pos y) <= y - x)%R
(y - x <= pred_pos y + (- x + ulp (pred_pos y)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(ulp (pred_pos y) <= y - x)%R
(pred_pos y + ulp (pred_pos y) - x <= pred_pos y + (- x + ulp (pred_pos y)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%R(* . *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(y - (y - x) <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(y - (y - x) <= pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(y - (y - x) <= round beta fexp Zfloor (y - (y - x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(0 < y - x <= ulp (pred y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(x <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(0 < y - x <= ulp (pred y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
x = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(0 < y - x <= ulp (pred y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
round beta fexp Zfloor x = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(0 < y - x <= ulp (pred y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(0 < y - x <= ulp (pred y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(0 < y - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(y - x <= ulp (pred y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(y - x <= ulp (pred y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:(0 < x)%RZy:(0 < y)%RZp:(0 < pred y)%RH1:(y - x < ulp (pred_pos y))%R
(y - x <= ulp (pred_pos y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(x <= pred_pos y)%Rapply Rle_lt_trans with (1:=proj1 H); apply H. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(0 <= x < y)%RV:0%R = x
(0 < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (0 <= x)%R -> (x < y)%R -> (succ x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (0 <= x)%R -> (x < y)%R -> (succ x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%R
(succ x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%R
(x + ulp x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(ulp x <= y - x)%R
(x + ulp x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
(x + ulp x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(ulp x <= y - x)%R
(x + ulp x + - x <= y + - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
(x + ulp x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
(x + ulp x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
(x + ulp x <= x + (y - x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
~ (x < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
(x < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
~ (x < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
y = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
y = round beta fexp Zfloor (x + (y - x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
(0 <= y - x < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
y = round beta fexp Zfloor ybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
(0 <= y - x < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
round beta fexp Zfloor y = ybeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
(0 <= y - x < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
(0 <= y - x < ulp x)%Rapply Rlt_le; now apply Rlt_Rminus. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RHx:F xHy:F yZx:(0 <= x)%RH:(x < y)%RH1:(y - x < ulp x)%R
(0 <= y - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x < y)%R -> (succ x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x < y)%R -> (succ x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%R
(succ x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(0 <= x)%R
(succ x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%R
(succ x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%R
(succ x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%R
(- pred_pos (- x) <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
(- pred_pos (- x) <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- pred_pos (- x) <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
(- pred_pos (- x) <= - - y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- pred_pos (- x) <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
(- y <= pred_pos (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- pred_pos (- x) <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
F (- y)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
(0 <= - y < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- pred_pos (- x) <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
(0 <= - y < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- pred_pos (- x) <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
(0 <= - y < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- pred_pos (- x) <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
(0 <= - y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
(- y < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- pred_pos (- x) <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(y <= 0)%R
(- y < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- pred_pos (- x) <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- pred_pos (- x) <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- pred_pos (- x) <= - 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- 0 <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(0 <= pred_pos (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- 0 <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- 0 <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- 0 <= y)%Rrewrite Ropp_0; now left. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yH:(x < y)%RHx:(x < 0)%RHy:(0 < y)%R
(- 0 <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x < y)%R -> (x <= pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x < y)%R -> (x <= pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(x <= pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(- - x <= pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(succ (- y) <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
F (- y)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(- y < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(- y < - x)%Rnow apply Ropp_lt_contravar. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(- y < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, y <> 0%R -> (x <= y)%R -> (x < succ y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, y <> 0%R -> (x <= y)%R -> (x < succ y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RZy:y <> 0%RHxy:(x <= y)%R
(x < succ y)%Rnow apply succ_gt_id. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RZy:y <> 0%RHxy:(x <= y)%R
(y < succ y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, x <> 0%R -> (x <= y)%R -> (pred x < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, x <> 0%R -> (x <= y)%R -> (pred x < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RZy:x <> 0%RHxy:(x <= y)%R
(pred x < y)%Rnow apply pred_lt_id. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RZy:x <> 0%RHxy:(x <= y)%R
(pred x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> (0 < x)%R -> succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> (0 < x)%R -> succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
succ (pred_pos x) = xnow apply pred_pos_plus_ulp. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
(pred_pos x + ulp (pred_pos x))%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
pred (ulp 0) = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
pred (ulp 0) = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
pred_pos (ulp 0) = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(0 <= ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
pred_pos (ulp 0) = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
pred_pos match negligible_exp with | Some n => bpow (fexp n) | None => 0 end = 0%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
negligible_exp = None /\ (forall n : Z, (fexp n < n)%Z) -> pred_pos match negligible_exp with | Some n => bpow (fexp n) | None => 0 end = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> pred_pos match negligible_exp with | Some n => bpow (fexp n) | None => 0 end = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH1:negligible_exp = None
pred_pos 0 = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> pred_pos match negligible_exp with | Some n => bpow (fexp n) | None => 0 end = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH1:negligible_exp = None
(0 - ulp 0)%R = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH1:negligible_exp = None
0%R <> bpow (mag beta 0 - 1)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> pred_pos match negligible_exp with | Some n => bpow (fexp n) | None => 0 end = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH1:negligible_exp = None
(0 - ulp 0)%R = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> pred_pos match negligible_exp with | Some n => bpow (fexp n) | None => 0 end = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH1:negligible_exp = None
(0 - match negligible_exp with | Some n => bpow (fexp n) | None => 0 end)%R = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> pred_pos match negligible_exp with | Some n => bpow (fexp n) | None => 0 end = 0%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> pred_pos match negligible_exp with | Some n => bpow (fexp n) | None => 0 end = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Z
pred_pos (bpow (fexp n)) = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Z
(if Req_bool (bpow (fexp n)) (bpow (mag beta (bpow (fexp n)) - 1)) then (bpow (fexp n) - bpow (fexp (mag beta (bpow (fexp n)) - 1)))%R else (bpow (fexp n) - ulp (bpow (fexp n)))%R) = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Z
(if Req_bool (bpow (fexp n)) (bpow (fexp n + 1 - 1)) then (bpow (fexp n) - bpow (fexp (fexp n + 1 - 1)))%R else (bpow (fexp n) - ulp (bpow (fexp n)))%R) = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Z
(if Req_bool (bpow (fexp n)) (bpow (fexp n)) then (bpow (fexp n) - bpow (fexp (fexp n)))%R else (bpow (fexp n) - ulp (bpow (fexp n)))%R) = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Z
(bpow (fexp n) - bpow (fexp (fexp n)))%R = 0%Rapply sym_eq, valid_exp; omega. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpn:ZH1:negligible_exp = Some nH2:(n <= fexp n)%Z
fexp n = fexp (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
succ 0 = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
succ 0 = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(if Rle_bool 0 0 then (0 + ulp 0)%R else (- pred_pos (- 0))%R) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(0 + ulp 0)%R = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(0 <= 0)%Rapply Rle_refl. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
(0 <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
pred 0 = (- ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
pred 0 = (- ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
pred 0 = (- succ 0)%Rapply pred_opp. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
pred (- 0) = (- succ 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> (0 < x)%R -> pred (succ x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> (0 < x)%R -> pred (succ x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
pred (succ x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
(pred (succ x) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
(x <= pred (succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
(pred (succ x) <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
~ (x < pred (succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RH:(x < pred (succ x))%R
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RH:(succ x <= pred (succ x))%R
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RH:(x < pred (succ x))%R
F (pred (succ x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
(succ x <= pred (succ x))%R -> Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RH:(x < pred (succ x))%R
F (pred (succ x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
(pred (succ x) < succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RH:(x < pred (succ x))%R
F (pred (succ x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
succ x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RH:(x < pred (succ x))%R
F (pred (succ x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
(succ x > 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RH:(x < pred (succ x))%R
F (pred (succ x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
(x <= succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RH:(x < pred (succ x))%R
F (pred (succ x))now apply generic_format_pred, generic_format_succ.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RH:(x < pred (succ x))%R
F (pred (succ x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
(x <= pred (succ x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
F (succ x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
(x < succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
(x < succ x)%Rnow apply Rgt_not_eq. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:0%R = x
succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:0%R = x
succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:0%R = x
succ (pred 0) = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:0%R = x
(- 0)%R = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
succ (- succ (- x)) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
(- - x)%R = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
(0 < - x)%Rnow apply Ropp_0_gt_lt_contravar. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> pred (succ x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> pred (succ x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
pred (succ x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
pred (succ (- - x)) = (- - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
(- succ (pred (- x)))%R = (- - x)%Rnow apply generic_format_opp. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> forall eps : R, (0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R -> round beta fexp Zceil (pred x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> forall eps : R, (0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R -> round beta fexp Zceil (pred x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
round beta fexp Zceil (pred x + eps) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
succ (pred x) = xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (pred x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp (pred (- pred x))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (pred x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp (pred (- pred x))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp (pred (- pred x))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp (pred (- - succ (- x)))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%R
(pred x < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':(x < 0)%R
(pred x < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(pred x < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':(x < 0)%R
(pred x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(pred x < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':(x < 0)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(pred x < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(pred x < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(- (if Rle_bool 0 (- 0) then - 0 + ulp (- 0) else - pred_pos (- - 0)) < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(- (0 + ulp 0) < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(- ulp 0 < 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(0 < ulp (- 0))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(eps <= ulp (- 0))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(ulp x <= ulp (- 0))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(ulp 0 <= ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool 0 (pred x) then ulp (pred x) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 <= pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)now apply generic_format_opp. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> forall eps : R, (0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R -> round beta fexp Zfloor (x - eps) = pred xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> forall eps : R, (0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R -> round beta fexp Zfloor (x - eps) = pred xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
round beta fexp Zfloor (x - eps) = pred xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
round beta fexp Zfloor (- (- x + eps)) = pred xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
(- round beta fexp Zceil (- x + eps))%R = pred xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
round beta fexp Zceil (- x + eps) = succ (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
round beta fexp Zceil (pred (succ (- x)) + eps) = succ (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (succ (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp (pred (succ (- x)))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp (pred (succ (- x)))))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%R
(0 < succ (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':(x < 0)%R
(0 < succ (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(0 < succ (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':(x < 0)%R
(- x <= succ (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(0 < succ (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':(x < 0)%R
(- x <= succ (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(0 < succ (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(0 < succ (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(0 < 0 + ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(0 < ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(x <= 0)%RH2:(0 < eps <= ulp x)%RH1':x = 0%R
(eps <= ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= (if Rle_bool (succ (- x)) 0 then ulp (succ (- x)) else ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 < eps <= ulp (succ (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(succ (- x) <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(succ (- x) <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(- pred x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%RH1:(0 < x)%RH2:(0 < eps <= ulp (pred x))%R
(0 <= pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)now apply generic_format_opp. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xeps:RHeps:(0 < eps <= (if Rle_bool x 0 then ulp x else ulp (pred x)))%R
F (- x)
Error of a rounding, expressed in number of ulps
false for x=0 in the FLX format
(* was ulp_error *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, x <> 0%R -> (Rabs (round beta fexp rnd x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, x <> 0%R -> (Rabs (round beta fexp rnd x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%R
(Rabs (round beta fexp rnd x - x) < ulp x)%R(* x = rnd x *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:F x
(Rabs (round beta fexp rnd x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp rnd x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:F x
(Rabs (x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp rnd x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:F x
(Rabs (x + - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp rnd x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:F x
(0 < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp rnd x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:F x
(0 < bpow (cexp beta fexp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp rnd x - x) < ulp x)%R(* x <> rnd x *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp rnd x - x) < ulp x)%R(* . *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zfloor x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(- (round beta fexp Zfloor x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(x - round beta fexp Zfloor x < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x + (x - round beta fexp Zfloor x) < round beta fexp Zfloor x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x + (x - round beta fexp Zfloor x) < round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(x < round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(x <= round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHu:(x <= round beta fexp Zceil x)%R
(x < round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHu:(x <= round beta fexp Zceil x)%R
(x < round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHu:(x < round beta fexp Zceil x)%R
(x < round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHu:x = round beta fexp Zceil x
(x < round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHu:x = round beta fexp Zceil x
(x < round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHu:x = round beta fexp Zceil x
F xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHu:x = round beta fexp Zceil x
F (round beta fexp Zceil x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%R(* . *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(Rabs (round beta fexp Zceil x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zceil x - x < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(0 <= round beta fexp Zceil x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x + ulp x - x < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(0 <= round beta fexp Zceil x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x + ulp x - x + (x - ulp x) < ulp x + (x - ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(0 <= round beta fexp Zceil x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(0 <= round beta fexp Zceil x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(round beta fexp Zfloor x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHd:(round beta fexp Zfloor x <= x)%R
(round beta fexp Zfloor x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(0 <= round beta fexp Zceil x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHd:(round beta fexp Zfloor x <= x)%R
(round beta fexp Zfloor x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(0 <= round beta fexp Zceil x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHd:(round beta fexp Zfloor x < x)%R
(round beta fexp Zfloor x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHd:round beta fexp Zfloor x = x
(round beta fexp Zfloor x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(0 <= round beta fexp Zceil x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHd:round beta fexp Zfloor x = x
(round beta fexp Zfloor x < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(0 <= round beta fexp Zceil x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHd:round beta fexp Zfloor x = x
F xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(0 <= round beta fexp Zceil x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F xHd:round beta fexp Zfloor x = x
F (round beta fexp Zfloor x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(0 <= round beta fexp Zceil x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(0 <= round beta fexp Zceil x - x)%Rapply round_UP_pt... Qed. (* was ulp_error_le *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%RHx:~ F x
(x <= round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (Rabs (round beta fexp rnd x - x) <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (Rabs (round beta fexp rnd x - x) <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:R
(Rabs (round beta fexp rnd x - x) <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:R
x = 0%R -> (Rabs (round beta fexp rnd x - x) <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:R
x <> 0%R -> (Rabs (round beta fexp rnd x - x) <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R
(Rabs (0 - 0) <= ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:R
x <> 0%R -> (Rabs (round beta fexp rnd x - x) <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R
(0 <= ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:R
x <> 0%R -> (Rabs (round beta fexp rnd x - x) <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:R
x <> 0%R -> (Rabs (round beta fexp rnd x - x) <= ulp x)%Rnow apply error_lt_ulp. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x <> 0%R
(Rabs (round beta fexp rnd x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (x : R), (Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (x : R), (Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%R(* x = rnd x *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:F x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:F x
(Rabs (x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:F x
(Rabs (x + - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:F x
(0 <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:F x
(0 <= / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:F x
(0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:F x
(0 < / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:F x
(0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:F x
(0 < 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:F x
(0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:F x
(0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%R(* x <> rnd x *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%R(* . rnd(x) = rndd(x) *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (d - x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(Rabs (d - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
F dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(Rabs (d - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(Rabs (d - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(- (d - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(x - d <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(0 < 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
((x - d) * 2 <= / 2 * ulp x * 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
((x - d) * 2 <= / 2 * ulp x * 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
((x - d) * 2 + (d - x) <= / 2 * ulp x * 2 + (d - x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(x - d <= - x + d + 2 * / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d + ulp x - x <= - x + d + 2 * / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d + ulp x - x)%R = (- x + d + 2 * / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d - x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(x - d <= d + ulp x - x)%R
(d <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%R(* . rnd(x) = rndu(x) *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(d + ulp x)%R = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%R
(round beta fexp Zfloor x + ulp x)%R = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (d + ulp x - x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(Rabs (d + ulp x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
F (d + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(Rabs (d + ulp x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
F (round beta fexp Zceil x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(Rabs (d + ulp x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(Rabs (d + ulp x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(d + ulp x - x <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(0 <= d + ulp x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(0 < 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
((d + ulp x - x) * 2 <= / 2 * ulp x * 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(0 <= d + ulp x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
((d + ulp x - x) * 2 <= / 2 * ulp x * 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(0 <= d + ulp x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
((d + ulp x - x) * 2 + - (d + ulp x - x) <= / 2 * ulp x * 2 + - (d + ulp x - x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(0 <= d + ulp x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(d + ulp x - x <= - d + 2 * ulp x * / 2 - ulp x + x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(0 <= d + ulp x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(d + ulp x - x < - d + 2 * ulp x * / 2 - ulp x + x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(0 <= d + ulp x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(x - d <= - d + 2 * ulp x * / 2 - ulp x + x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(0 <= d + ulp x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(x - d)%R = (- d + 2 * ulp x * / 2 - ulp x + x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(0 <= d + ulp x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(0 <= d + ulp x - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(x <= d + ulp x)%Rapply (round_UP_pt beta fexp x). Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:RHx:~ F xd:=round beta fexp Zfloor x:RHr1:F (round beta fexp (Znearest choice) x)Hr2:forall g : R, F g -> (Rabs (round beta fexp (Znearest choice) x - x) <= Rabs (g - x))%RH:(d + ulp x - x < x - d)%RHu:(d + ulp x)%R = round beta fexp Zceil x
(x <= round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= x)%R -> ulp (round beta fexp Zfloor x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (0 <= x)%R -> ulp (round beta fexp Zfloor x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%R
ulp (round beta fexp Zfloor x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:0%R = x
ulp (round beta fexp Zfloor x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%R
ulp (round beta fexp Zfloor x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%R
ulp (round beta fexp Zfloor x) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%R
F 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:(0 < round beta fexp Zfloor x)%R
ulp (round beta fexp Zfloor x) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zfloor x) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:(0 < round beta fexp Zfloor x)%R
ulp (round beta fexp Zfloor x) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zfloor x) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:(0 < round beta fexp Zfloor x)%R
ulp (round beta fexp Zfloor x) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zfloor x) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:(0 < round beta fexp Zfloor x)%R
ulp (round beta fexp Zfloor x) = bpow (cexp beta fexp x)now rewrite cexp_DN with (2 := Hd).beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:(0 < round beta fexp Zfloor x)%R
bpow (cexp beta fexp (round beta fexp Zfloor x)) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zfloor x) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:0%R = round beta fexp Zfloor x
ulp 0 = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:0%R = round beta fexp Zfloor x
ulp 0 = bpow (fexp (mag beta x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:0%R = round beta fexp Zfloor xe:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
ulp 0 = bpow (fexp (Build_mag_prop beta x e He))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:0%R = round beta fexp Zfloor xe:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
ulp 0 = bpow (fexp e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:0%R = round beta fexp Zfloor xe:ZHe:(bpow (e - 1) <= Rabs x < bpow e)%R
ulp 0 = bpow (fexp e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:round beta fexp Zfloor x = 0%Re:ZHe:(bpow (e - 1) <= Rabs x < bpow e)%R
ulp 0 = bpow (fexp e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:round beta fexp Zfloor x = 0%Re:ZHe:(bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%Z
ulp 0 = bpow (fexp e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:round beta fexp Zfloor x = 0%Re:ZHe:(bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%Z
(if Req_bool 0 0 then match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end else bpow (cexp beta fexp 0)) = bpow (fexp e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:round beta fexp Zfloor x = 0%Re:ZHe:(bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%Z
match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end = bpow (fexp e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:round beta fexp Zfloor x = 0%Re:ZHe:(bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%ZH0:forall n : Z, (fexp n < n)%Z
0%R = bpow (fexp e)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:round beta fexp Zfloor x = 0%Re:ZHe:(bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%Zk:ZHk:(k <= fexp k)%Z
bpow (fexp k) = bpow (fexp e)now apply f_equal, fexp_negligible_exp_eq.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:(0 < x)%RHd:round beta fexp Zfloor x = 0%Re:ZHe:(bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%Zk:ZHk:(k <= fexp k)%Z
bpow (fexp k) = bpow (fexp e)rewrite <- Hx, round_0... Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RHx:0%R = x
ulp (round beta fexp Zfloor x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
negligible_exp = None -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, x <> 0%R -> round beta fexp rnd x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
negligible_exp = None -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, x <> 0%R -> round beta fexp rnd x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%R
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%R
negligible_exp = None /\ (forall n : Z, (fexp n < n)%Z) -> Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%RHn:forall n : Z, (fexp n < n)%Z
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%RHn:forall n : Z, (fexp n < n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%RHn:forall n : Z, (fexp n < n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
~ (fexp e < e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%RHn:forall n : Z, (fexp n < n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(fexp e < e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%RHn:forall n : Z, (fexp n < n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(e <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%RHn:forall n : Z, (fexp n < n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(fexp e < e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%RHn:forall n : Z, (fexp n < n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(fexp e < e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> Falsebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> Falserewrite H in H1; discriminate. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:negligible_exp = Nonerndn:R -> ZHrnd:Valid_rnd rndnx:RHx:x <> 0%RK:round beta fexp rndn x = 0%Rn:ZH1:negligible_exp = Some n
False
allows rnd x to be 0
beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, x <> 0%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, x <> 0%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%R(* wlog *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, x <> 0%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
(forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%R) -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, x <> 0%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%R
(Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%R
(0 <= x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%R
(x < 0)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%RH:(0 < x)%R
(Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%RH:0%R = x
(Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%R
(x < 0)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%RH:0%R = x
(Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%R
(x < 0)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%R
(x < 0)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%RH:(x < 0)%R
(Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%RH:(x < 0)%R
(Rabs (round beta fexp rnd (- - x) - - - x) < ulp (round beta fexp rnd (- - x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%RH:(x < 0)%R
(Rabs (- round beta fexp (Zrnd_opp rnd) (- x) - - - x) < ulp (round beta fexp (Zrnd_opp rnd) (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%RH:(x < 0)%R
(Rabs (- (round beta fexp (Zrnd_opp rnd) (- x) - - x)) < ulp (round beta fexp (Zrnd_opp rnd) (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%RH:(x < 0)%R
(Rabs (round beta fexp (Zrnd_opp rnd) (- x) - - x) < ulp (round beta fexp (Zrnd_opp rnd) (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%RH:(x < 0)%R
Valid_rnd (Zrnd_opp rnd)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%RH:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpM:forall rnd0 : R -> Z, Valid_rnd rnd0 -> forall x0 : R, (0 < x0)%R -> (Rabs (round beta fexp rnd0 x0 - x0) < ulp (round beta fexp rnd0 x0))%Rrnd:R -> ZHrnd:Valid_rnd rndx:RZx:x <> 0%RH:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%R(* 0 < x *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> (Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(Rabs (round beta fexp rnd x - x) < ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(Rabs (round beta fexp rnd x - x) < ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(ulp x <= ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(ulp x <= ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(ulp x <= ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(ulp (round beta fexp Zfloor x) <= ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(round beta fexp Zfloor x <= round beta fexp rnd x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
F 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(round beta fexp Zfloor x <= round beta fexp rnd x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(round beta fexp Zfloor x <= round beta fexp rnd x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(round beta fexp Zfloor x <= round beta fexp rnd x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%RV:round beta fexp rnd x = round beta fexp Zfloor x
(round beta fexp Zfloor x <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%RV:round beta fexp rnd x = round beta fexp Zceil x
(round beta fexp Zfloor x <= round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%RV:round beta fexp rnd x = round beta fexp Zceil x
(round beta fexp Zfloor x <= round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%RV:round beta fexp rnd x = round beta fexp Zceil x
(round beta fexp Zfloor x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%RV:round beta fexp rnd x = round beta fexp Zceil x
(x <= round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%RV:round beta fexp rnd x = round beta fexp Zceil x
(x <= round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rnow apply Rlt_le. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexprnd:R -> ZHrnd:Valid_rnd rndx:RHx:(0 < x)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (Rabs (round beta fexp rnd x - x) <= ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (Rabs (round beta fexp rnd x - x) <= ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:R
(Rabs (round beta fexp rnd x - x) <= ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:RZx:x = 0%R
(Rabs (round beta fexp rnd x - x) <= ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:RNzx:x <> 0%R
(Rabs (round beta fexp rnd x - x) <= ulp (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:RZx:x = 0%R
(Rabs (round beta fexp rnd x - x) <= ulp (round beta fexp rnd x))%Runfold Rminus; rewrite Ropp_0, Rplus_0_l, Rabs_R0; apply ulp_ge_0.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:RZx:x = 0%R
(Rabs (0 - 0) <= ulp 0)%Rnow apply Rlt_le, error_lt_ulp_round. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:RNzx:x <> 0%R
(Rabs (round beta fexp rnd x - x) <= ulp (round beta fexp rnd x))%R
allows both x and rnd x to be 0
beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall (choice : Z -> bool) (x : R), (Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall (choice : Z -> bool) (x : R), (Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x = 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x = 0%R
(/ 2 * ulp x <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x = 0%R
(/ 2 * ulp 0 <= / 2 * ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%R -> (Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%R
(Rabs (0 - x) <= / 2 * ulp x)%R -> (Rabs (0 - x) <= / 2 * ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%R
(Rabs x <= / 2 * ulp x)%R -> (Rabs x <= / 2 * ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%R
(Rabs x <= / 2 * ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%R
(Rabs x <= / 2 * match negligible_exp with | Some n => bpow (fexp n) | None => 0 end)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%R
negligible_exp = None /\ (forall n : Z, (fexp n < n)%Z) -> (Rabs x <= / 2 * match negligible_exp with | Some n => bpow (fexp n) | None => 0 end)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (Rabs x <= / 2 * match negligible_exp with | Some n => bpow (fexp n) | None => 0 end)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%RH1:negligible_exp = NoneH2:forall n : Z, (fexp n < n)%Z
(Rabs x <= / 2 * match negligible_exp with | Some n => bpow (fexp n) | None => 0 end)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (Rabs x <= / 2 * match negligible_exp with | Some n => bpow (fexp n) | None => 0 end)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%RH1:negligible_exp = NoneH2:forall n : Z, (fexp n < n)%Z
round beta fexp (Znearest choice) x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (Rabs x <= / 2 * match negligible_exp with | Some n => bpow (fexp n) | None => 0 end)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (Rabs x <= / 2 * match negligible_exp with | Some n => bpow (fexp n) | None => 0 end)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Z
(Rabs x <= / 2 * bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Z
(/ 2 * ulp x <= / 2 * bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Z
ulp x = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Z
bpow (cexp beta fexp x) = bpow (fexp n)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Z
cexp beta fexp x = fexp nbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Z
fexp (mag beta x) = fexp nbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Z
(mag beta x <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Z
(mag beta x - 1 < fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Z
(bpow (mag beta x - 1) < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(bpow (Build_mag_prop beta x e He - 1) < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(bpow (e - 1) < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(bpow (e - 1) <= Rabs x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(Rabs x < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(Rabs x < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(Rabs x <= Rabs (round beta fexp (Znearest choice) x - x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(Rabs (round beta fexp (Znearest choice) x - x) < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
Rabs x = Rabs (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(Rabs (round beta fexp (Znearest choice) x - x) < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(Rabs (round beta fexp (Znearest choice) x - x) < bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(Rabs (round beta fexp (Znearest choice) x - x) < ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(ulp 0 <= bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(Rabs (round beta fexp (Znearest choice) x - x) < ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(ulp 0 <= bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(ulp 0 <= bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x = 0%RHx:x <> 0%RN:(Rabs x <= / 2 * ulp x)%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(bpow (fexp n) <= bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%R(* . *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(0 <= x)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(0 <= x)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp Zfloor x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(0 <= x)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(/ 2 * ulp x <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(0 <= / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(ulp x <= ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(ulp x <= ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(Rabs x <= Rabs (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(- x <= Rabs (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(- x <= Rabs (round beta fexp Zfloor x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(- x <= - round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(round beta fexp Zfloor x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(round beta fexp Zfloor x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(round beta fexp Zfloor x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(round beta fexp Zfloor x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
F 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zfloor xH:(x < 0)%R
(x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%R(* . *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil x
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(0 <= x)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(0 <= x)%R
(/ 2 * ulp x <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(0 <= x)%R
(0 <= / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(0 <= x)%R
(ulp x <= ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(0 <= x)%R
(ulp x <= ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(0 <= x)%R
(x <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp (Znearest choice) x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (- round beta fexp Zceil x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (round beta fexp Zfloor (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) x - x) <= / 2 * ulp (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(0 <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (round beta fexp (Znearest choice) (- - x) - - - x) <= / 2 * ulp (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(0 <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (- round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))%Z))) (- x) - - - x) <= / 2 * ulp (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(0 <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (- round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))%Z))) (- x) + - - - x) <= / 2 * ulp (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(0 <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(Rabs (round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))%Z))) (- x) + - - x) <= / 2 * ulp (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(0 <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(0 <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(- 0 <= - x)%Rnow apply Rlt_le. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice:Z -> boolx:RHfx:round beta fexp (Znearest choice) x <> 0%RHx:round beta fexp (Znearest choice) x = round beta fexp Zceil xH:(x < 0)%R
(x <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x <= y)%R -> (pred x <= pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x <= y)%R -> (pred x <= pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(pred x <= pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpy:RFx, Fy:F y
(pred y <= pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(pred x <= pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
F (pred x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(pred x < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(pred x < y)%Rapply pred_le_id. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(pred x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x <= y)%R -> (succ x <= succ y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x <= y)%R -> (succ x <= succ y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x <= y)%R
(succ x <= succ y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x <= y)%R
(- succ y <= - succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x <= y)%R
(pred (- y) <= pred (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x <= y)%R
F (- y)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x <= y)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x <= y)%R
(- y <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x <= y)%R
F (- x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x <= y)%R
(- y <= - x)%Rnow apply Ropp_le_contravar. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x <= y)%R
(- y <= - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (pred x <= pred y)%R -> (x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (pred x <= pred y)%R -> (x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(pred x <= pred y)%R
(x <= y)%Rapply succ_le; trivial; now apply generic_format_pred. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(pred x <= pred y)%R
(succ (pred x) <= succ (pred y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (succ x <= succ y)%R -> (x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (succ x <= succ y)%R -> (x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(succ x <= succ y)%R
(x <= y)%Rapply pred_le; trivial; now apply generic_format_succ. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(succ x <= succ y)%R
(pred (succ x) <= pred (succ y))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x < y)%R -> (pred x < pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x < y)%R -> (pred x < pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(pred x < pred y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
~ (pred y <= pred x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%RH:(pred y <= pred x)%R
Falsenow apply pred_le_inv. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%RH:(pred y <= pred x)%R
(y <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x < y)%R -> (succ x < succ y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F x -> F y -> (x < y)%R -> (succ x < succ y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
(succ x < succ y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%R
~ (succ y <= succ x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%RH:(succ y <= succ x)%R
Falsenow apply succ_le_inv. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFx:F xFy:F yHxy:(x < y)%RH:(succ y <= succ x)%R
(y <= x)%R
Adding ulp is a, somewhat reasonable, overapproximation of succ.
beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall x : R, (succ x <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall x : R, (succ x <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:R
(succ x <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RNx:(x < 0)%R
(succ x <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RNx:(x < 0)%R
(succ x <= - (- x - ulp x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RNx:(x < 0)%R
(- pred_pos (- x) <= - (- x - ulp (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RNx:(x < 0)%R
(- x - ulp (- x) <= (if Req_bool (- x) (bpow (mag beta (- x) - 1)) then - x - bpow (fexp (mag beta (- x) - 1)) else - x - ulp (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RNx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)
(- x - ulp (- x) <= (if Req_bool (- x) (bpow (mag beta (- x) - 1)) then - x - bpow (fexp (mag beta (- x) - 1)) else - x - ulp (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RNx:(x < 0)%RHx:(- x)%R <> bpow (mag beta (- x) - 1)
(- x - ulp (- x) <= (if Req_bool (- x) (bpow (mag beta (- x) - 1)) then - x - bpow (fexp (mag beta (- x) - 1)) else - x - ulp (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RNx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)
(- x - ulp (- x) <= (if Req_bool (- x) (bpow (mag beta (- x) - 1)) then - x - bpow (fexp (mag beta (- x) - 1)) else - x - ulp (- x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RNx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)
(- x - ulp (- x) <= - x - bpow (fexp (mag beta (- x) - 1)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RNx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)
(bpow (fexp (mag beta (- x) - 1)) <= ulp (- x))%Rapply bpow_le, Mexp; lia.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RNx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)
(bpow (fexp (mag beta (- x) - 1)) <= bpow (cexp beta fexp (- x)))%Rnow rewrite (Req_bool_false _ _ Hx); right. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RNx:(x < 0)%RHx:(- x)%R <> bpow (mag beta (- x) - 1)
(- x - ulp (- x) <= (if Req_bool (- x) (bpow (mag beta (- x) - 1)) then - x - bpow (fexp (mag beta (- x) - 1)) else - x - ulp (- x)))%R
And it also lies in the format.
beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall x : R, F x -> F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall x : R, F x -> F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F x
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F xPx:(0 <= x)%R
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F xNx:(x < 0)%R
F (x + ulp x)now rewrite <-(succ_eq_pos _ Px); apply generic_format_succ.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F xPx:(0 <= x)%R
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F xNx:(x < 0)%R
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%R
F (x + ulp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%R
F (- (- x - ulp x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%R
F (- x - ulp (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)
F (- x - ulp (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R <> bpow (mag beta (- x) - 1)
F (- x - ulp (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)
F (- x - ulp (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)
F (- x - bpow (cexp beta fexp (- x)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)
F (bpow (mag beta (- x) - 1) - bpow (cexp beta fexp (- x)))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)
F (bpow (mag beta (- x) - 1) - bpow (fexp (mag beta (- x))))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)
F (bpow (e - 1) - bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)
(fexp e < e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Z
F (bpow (e - 1) - bpow (fexp e))now apply mag_generic_gt; [|lra|].beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)
(fexp e < e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Z
F (bpow (e - 1) - bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Z
F (bpow (e - 1 - fexp e + fexp e) - bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Z
F (bpow (e - 1 - fexp e) * bpow (fexp e) - bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):R
F (m * bpow (fexp e) - bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):R
F ((m - 1) * bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):R
(e - 1 - fexp e)%Z = 0%Z -> F ((m - 1) * bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):R
forall p : positive, (e - 1 - fexp e)%Z = Z.pos p -> F ((m - 1) * bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):R
forall p : positive, (e - 1 - fexp e)%Z = Z.neg p -> F ((m - 1) * bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):R
(e - 1 - fexp e)%Z = 0%Z -> F ((m - 1) * bpow (fexp e))rewrite Rmult_0_l; apply generic_format_0.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):RHe:(e - 1 - fexp e)%Z = 0%Z
F (0 * bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):R
forall p : positive, (e - 1 - fexp e)%Z = Z.pos p -> F ((m - 1) * bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):R
forall p : positive, (e - 1 - fexp e)%Z = Z.neg p -> F ((m - 1) * bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):R
forall p : positive, (e - 1 - fexp e)%Z = Z.pos p -> F ((m - 1) * bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos p
F ((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float beta
F ((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float beta
F2R f = ((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%R
(cexp beta fexp ((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e)) <= fexp e)%Znow unfold Defs.F2R; simpl; rewrite minus_IZR.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float beta
F2R f = ((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%R
(cexp beta fexp ((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e)) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%R
(fexp (mag beta ((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%R
(fexp (mag beta ((bpow (Z.pos p) - 1) * bpow (fexp e))) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%R
(fexp (mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Z
(fexp (mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))) <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))
(fexp e' <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))
e' = (e - 1)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))
(bpow (e - 1 - 1) <= Rabs ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))
(bpow (e - 1 - 1) <= Rabs (bpow (e - 1 - fexp e) - 1) * bpow (fexp e) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))
(bpow (e - 1 - 1) <= (bpow (e - 1 - fexp e) - 1) * bpow (fexp e) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))
(0 < IZR beta)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - 1) <= (bpow (e - 1 - fexp e) - 1) * bpow (fexp e) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))
(0 < IZR beta)%Rapply IZR_le, Z.leb_le, radix_prop.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))
(2 <= IZR beta)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - 1) <= (bpow (e - 1 - fexp e) - 1) * bpow (fexp e) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - 1) <= (bpow (e - 1 - fexp e) - 1) * bpow (fexp e))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
((bpow (e - 1 - fexp e) - 1) * bpow (fexp e) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - 1) <= (bpow (e - 1 - fexp e) - 1) * bpow (fexp e))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - fexp e + -1 + fexp e) <= (bpow (e - 1 - fexp e) - 1) * bpow (fexp e))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - fexp e + -1) * bpow (fexp e) <= (bpow (e - 1 - fexp e) - 1) * bpow (fexp e))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - fexp e + -1) <= bpow (e - 1 - fexp e) - 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - fexp e) * / IZR (beta * 1) <= bpow (e - 1 - fexp e) - 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - fexp e) * / IZR beta <= bpow (e - 1 - fexp e) - 1)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - fexp e) * / IZR beta * IZR beta <= (bpow (e - 1 - fexp e) - 1) * IZR beta)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - fexp e) <= (bpow (e - 1 - fexp e) - 1) * IZR beta)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - fexp e) + IZR beta <= bpow (e - 1 - fexp e) * IZR beta)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - fexp e) + IZR beta <= 2 * bpow (e - 1 - fexp e))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(2 * bpow (e - 1 - fexp e) <= bpow (e - 1 - fexp e) * IZR beta)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - fexp e) + IZR beta <= 2 * bpow (e - 1 - fexp e))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(bpow (e - 1 - fexp e) + IZR beta <= bpow (e - 1 - fexp e) + bpow (e - 1 - fexp e))%Rrewrite <-bpow_1; apply bpow_le; lia.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(IZR beta <= bpow (e - 1 - fexp e))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(2 * bpow (e - 1 - fexp e) <= bpow (e - 1 - fexp e) * IZR beta)%Rapply IZR_le, Z.leb_le, radix_prop.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
(2 <= IZR beta)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
((bpow (e - 1 - fexp e) - 1) * bpow (fexp e) < bpow (e - 1))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
((bpow (e - 1 - fexp e) - 1) * bpow (fexp e) * bpow (- fexp e) < bpow (e - 1) * bpow (- fexp e))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
((bpow (e - 1 - fexp e) - 1) * bpow (fexp e + - fexp e) < bpow (e - 1 + - fexp e))%Rrewrite Rmult_1_r; unfold Zminus; lra.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):Rp:positiveHp:(e - 1 - fexp e)%Z = Z.pos pf:={| Fnum := Z.pow_pos beta p - 1; Fexp := fexp e |} : float beta:float betaHm':((IZR (Z.pow_pos beta p) - 1) * bpow (fexp e))%R <> 0%RHe:(1 <= e - 1 - fexp e)%Ze':=mag beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e)):mag_prop beta ((bpow (e - 1 - fexp e) - 1) * bpow (fexp e))beta_pos:(0 < IZR beta)%R
((bpow (e - 1 - fexp e) - 1) * 1 < bpow (e - 1 + - fexp e))%Rintros p Hp; exfalso; lia.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R = bpow (mag beta (- x) - 1)e:=mag beta (- x):mag_prop beta (- x)Hfe:(fexp e < e)%Zm:=bpow (e - 1 - fexp e):R
forall p : positive, (e - 1 - fexp e)%Z = Z.neg p -> F ((m - 1) * bpow (fexp e))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R <> bpow (mag beta (- x) - 1)
F (- x - ulp (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R <> bpow (mag beta (- x) - 1)
F (pred_pos (- x))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R <> bpow (mag beta (- x) - 1)
pred_pos (- x) = (- x - ulp (- x))%Rnow apply generic_format_pred_pos; [|lra].beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R <> bpow (mag beta (- x) - 1)
F (pred_pos (- x))now unfold pred_pos; rewrite Req_bool_false. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpMexp:Monotone_exp fexpx:RFx:F (- x)Nx:(x < 0)%RHx:(- x)%R <> bpow (mag beta (- x) - 1)
pred_pos (- x) = (- x - ulp (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F y -> (y < round beta fexp Zceil x)%R -> (y <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F y -> (y < round beta fexp Zceil x)%R -> (y <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(y < round beta fexp Zceil x)%R
(y <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(y < round beta fexp Zceil x)%R
(y <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(y < round beta fexp Zceil x)%R
~ (x < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(x < y)%R
~ (y < round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(x < y)%R
(round beta fexp Zceil x <= y)%Rnow apply Rlt_le. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(x < y)%R
(x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F y -> (round beta fexp Zfloor x < y)%R -> (round beta fexp Zceil x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x y : R, F y -> (round beta fexp Zfloor x < y)%R -> (round beta fexp Zceil x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(round beta fexp Zfloor x < y)%R
(round beta fexp Zceil x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(round beta fexp Zfloor x < y)%R
(x <= y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(round beta fexp Zfloor x < y)%R
~ (y < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(y < x)%R
~ (round beta fexp Zfloor x < y)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(y < x)%R
(y <= round beta fexp Zfloor x)%Rnow apply Rlt_le. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, y:RFy:F yHlt:(y < x)%R
(y <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F x
(pred x <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%R
(- succ 0 <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%R
(- (0 + ulp 0) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%R
(- match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%R
negligible_exp = None /\ (forall n : Z, (fexp n < n)%Z) -> (- match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (- match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%RH1:negligible_exp = NoneH2:forall n : Z, (fexp n < n)%Z
(- match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (- match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xH1:negligible_exp = NoneH2:forall n : Z, (fexp n < n)%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (- match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%R
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> (- match negligible_exp with | Some n => bpow (fexp n) | None => 0 end <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%Z
(- bpow (fexp n) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%ZK:(round beta fexp Zfloor x < - bpow (fexp n))%R
(- bpow (fexp n) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%ZK:(round beta fexp Zfloor x < - bpow (fexp n))%R
~ (round beta fexp Zceil x <= - bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%ZK:(round beta fexp Zfloor x < - bpow (fexp n))%R
(round beta fexp Zceil x <= - bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%ZK:(round beta fexp Zfloor x < - bpow (fexp n))%R
(- bpow (fexp n) < round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%ZK:(round beta fexp Zfloor x < - bpow (fexp n))%R
(round beta fexp Zceil x <= - bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%ZK:(round beta fexp Zfloor x < - bpow (fexp n))%R
(- bpow (fexp n) < - 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%ZK:(round beta fexp Zfloor x < - bpow (fexp n))%R
(round beta fexp Zceil x <= - bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%ZK:(round beta fexp Zfloor x < - bpow (fexp n))%R
(round beta fexp Zceil x <= - bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%ZK:(round beta fexp Zfloor x < - bpow (fexp n))%R
F (- bpow (fexp n))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x = 0%Rn:ZH1:negligible_exp = Some nHn:(n <= fexp n)%ZK:(round beta fexp Zfloor x < - bpow (fexp n))%R
(fexp (fexp n + 1) <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%R
let u := round beta fexp Zceil x in (pred u < u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%RHup:let u := round beta fexp Zceil x in (pred u < u)%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%RHup:let u := round beta fexp Zceil x in (pred u < u)%R
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%RHup:let u := round beta fexp Zceil x in (pred u < u)%R
F (pred (round beta fexp Zceil x))now apply round_UP_pt. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xZx:round beta fexp Zceil x <> 0%RHup:let u := round beta fexp Zceil x in (pred u < u)%R
F (round beta fexp Zceil x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (round beta fexp Zceil x <= succ (round beta fexp Zfloor x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, (round beta fexp Zceil x <= succ (round beta fexp Zfloor x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
(round beta fexp Zceil x <= succ (round beta fexp Zfloor x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
(round beta fexp Zceil (- - x) <= succ (round beta fexp Zfloor (- - x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
(- round beta fexp Zfloor (- x) <= - pred (round beta fexp Zceil (- x)))%Rapply pred_UP_le_DN. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:R
(pred (round beta fexp Zceil (- x)) <= round beta fexp Zfloor (- x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, ~ F x -> pred (round beta fexp Zceil x) = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, ~ F x -> pred (round beta fexp Zceil x) = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
pred (round beta fexp Zceil x) = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
(pred (round beta fexp Zceil x) <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
(round beta fexp Zfloor x <= pred (round beta fexp Zceil x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
(round beta fexp Zfloor x <= pred (round beta fexp Zceil x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
(round beta fexp Zfloor x < round beta fexp Zceil x)%Rnow apply Rlt_trans with (1 := proj1 HE) (2 := proj2 HE). Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F xHE:(round beta fexp Zfloor x < x < round beta fexp Zceil x)%R
(round beta fexp Zfloor x < round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, ~ F x -> succ (round beta fexp Zfloor x) = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, ~ F x -> succ (round beta fexp Zfloor x) = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
succ (round beta fexp Zfloor x) = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
succ (pred (round beta fexp Zceil x)) = round beta fexp Zceil xapply generic_format_round... Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:~ F x
F (round beta fexp Zceil x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x d : R, F d -> (d <= x < succ d)%R -> round beta fexp Zfloor x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x d : R, F d -> (d <= x < succ d)%R -> round beta fexp Zfloor x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%R
round beta fexp Zfloor x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%R
round beta fexp Zfloor x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%R
(d <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%R
(round beta fexp Zfloor x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%R
(round beta fexp Zfloor x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RFx:F x
(round beta fexp Zfloor x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RNFx:~ F x
(round beta fexp Zfloor x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RFx:F x
(x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RNFx:~ F x
(round beta fexp Zfloor x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RFx:F x
(succ x <= succ d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RNFx:~ F x
(round beta fexp Zfloor x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RFx:F x
F (succ d)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RNFx:~ F x
(round beta fexp Zfloor x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RNFx:~ F x
(round beta fexp Zfloor x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RNFx:~ F x
(succ (round beta fexp Zfloor x) <= succ d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RNFx:~ F x
(round beta fexp Zceil x <= succ d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RNFx:~ F x
F (succ d)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RNFx:~ F x
(x <= succ d)%Rnow left. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, d:RFd:F dHxd1:(d <= x)%RHxd2:(x < succ d)%RT1:F (round beta fexp Zfloor x)T2:(round beta fexp Zfloor x <= x)%RT3:forall g : R, F g -> (g <= x)%R -> (g <= round beta fexp Zfloor x)%RNFx:~ F x
(x <= succ d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x u : R, F u -> (pred u < x <= u)%R -> round beta fexp Zceil x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x u : R, F u -> (pred u < x <= u)%R -> round beta fexp Zceil x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, u:RFu:F uHux:(pred u < x <= u)%R
round beta fexp Zceil x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, u:RFu:F uHux:(pred u < x <= u)%R
(- - round beta fexp Zceil x)%R = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, u:RFu:F uHux:(pred u < x <= u)%R
(- round beta fexp Zfloor (- x))%R = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, u:RFu:F uHux:(pred u < x <= u)%R
(- round beta fexp Zfloor (- x))%R = (- - u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, u:RFu:F uHux:(pred u < x <= u)%R
round beta fexp Zfloor (- x) = (- u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, u:RFu:F uHux:(pred u < x <= u)%R
F (- u)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, u:RFu:F uHux:(pred u < x <= u)%R
(- u <= - x < succ (- u))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, u:RFu:F uHux:(pred u < x <= u)%R
(- u <= - x < succ (- u))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, u:RFu:F uHux:(pred u < x <= u)%R
(- x < succ (- u))%Rnow apply Ropp_lt_contravar. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx, u:RFu:F uHux:(pred u < x <= u)%R
(- x < - pred u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Exp_not_FTZ fexp -> ulp (ulp 0) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Exp_not_FTZ fexp -> ulp (ulp 0) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexp
negligible_exp = None /\ (forall n : Z, (fexp n < n)%Z) -> ulp (ulp 0) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexp
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> ulp (ulp 0) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpK1:negligible_exp = NoneK2:forall n : Z, (fexp n < n)%Z
ulp (ulp 0) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexp
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> ulp (ulp 0) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpK1:negligible_exp = NoneK2:forall n : Z, (fexp n < n)%Z
0%R = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexp
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> ulp (ulp 0) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpK1:negligible_exp = NoneK2:forall n : Z, (fexp n < n)%Z
match negligible_exp with | Some n => bpow (fexp n) | None => 0%R end = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexp
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> ulp (ulp 0) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexp
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> ulp (ulp 0) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
ulp (ulp 0) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(ulp (ulp 0) <= ulp 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(ulp 0 <= ulp (ulp 0))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(ulp (bpow (fexp n)) <= bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(ulp 0 <= ulp (ulp 0))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(bpow (fexp (fexp n + 1)) <= bpow (fexp n))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(ulp 0 <= ulp (ulp 0))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(fexp (fexp n + 1) <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(ulp 0 <= ulp (ulp 0))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(ulp 0 <= ulp (ulp 0))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = match negligible_exp with | Some n0 => bpow (fexp n0) | None => 0%R endbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(ulp 0 <= ulp (ulp 0))%Rnow apply ulp_ge_ulp_0. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpH:Exp_not_FTZ fexpn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
(ulp 0 <= ulp (ulp 0))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> (0 < x)%R -> ulp (succ x) = ulp x \/ succ x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall x : R, F x -> (0 < x)%R -> ulp (succ x) = ulp x \/ succ x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%R
ulp (succ x) = ulp x \/ succ x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%R
ulp (succ x) = ulp x \/ succ x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%R
ulp (x + ulp x) = ulp x \/ (x + ulp x)%R = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
ulp (x + ulp x) = ulp x \/ (x + ulp x)%R = bpow ebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:x <> 0%R -> (bpow (e - 1) <= x < bpow e)%R
ulp (x + ulp x) = ulp x \/ (x + ulp x)%R = bpow ebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%R
ulp (x + ulp x) = ulp x \/ (x + ulp x)%R = bpow ebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%R
(x + ulp x <= bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x <= bpow e)%R
ulp (x + ulp x) = ulp x \/ (x + ulp x)%R = bpow ebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%R
(x < bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x <= bpow e)%R
ulp (x + ulp x) = ulp x \/ (x + ulp x)%R = bpow ebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x <= bpow e)%R
ulp (x + ulp x) = ulp x \/ (x + ulp x)%R = bpow ebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
ulp (x + ulp x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
bpow (cexp beta fexp (x + ulp x)) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
(x + ulp x)%R <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
bpow (cexp beta fexp (x + ulp x)) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
(x <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
bpow (cexp beta fexp (x + ulp x)) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
(0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
bpow (cexp beta fexp (x + ulp x)) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
bpow (cexp beta fexp (x + ulp x)) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
bpow (cexp beta fexp (x + ulp x)) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
mag beta (x + ulp x) = mag beta xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
mag beta (x + ulp x) = ebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
e = mag beta xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
(bpow (e - 1) <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
e = mag beta xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
(x <= x + ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
e = mag beta xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
(0 <= ulp x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
e = mag beta xnow apply sym_eq, mag_unique_pos. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpx:RFx:F xHx:(0 < x)%RHx':(0 <= x)%Re:ZHe:(bpow (e - 1) <= x < bpow e)%RH:(x + ulp x < bpow e)%R
e = mag beta xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Exp_not_FTZ fexp -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> ulp (round beta fexp rnd x) = ulp x \/ round beta fexp rnd x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Exp_not_FTZ fexp -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (0 < x)%R -> ulp (round beta fexp rnd x) = ulp x \/ round beta fexp rnd x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%R
ulp (round beta fexp rnd x) = ulp x \/ round beta fexp rnd x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:F x
ulp (round beta fexp rnd x) = ulp x \/ round beta fexp rnd x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F x
ulp (round beta fexp rnd x) = ulp x \/ round beta fexp rnd x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F x
ulp (round beta fexp rnd x) = ulp x \/ round beta fexp rnd x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zfloor x
ulp (round beta fexp Zfloor x) = ulp x \/ round beta fexp Zfloor x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zfloor x
ulp (round beta fexp Zfloor x) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil x
(0 <= round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 <= round beta fexp Zfloor x)%R
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil x
F 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil x
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 <= round beta fexp Zfloor x)%R
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil x
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 <= round beta fexp Zfloor x)%R
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 <= round beta fexp Zfloor x)%R
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%R
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%R
ulp (succ (round beta fexp Zfloor x)) = ulp x \/ succ (round beta fexp Zfloor x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%R
F (round beta fexp Zfloor x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%R
(0 < round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%RY:ulp (succ (round beta fexp Zfloor x)) = ulp (round beta fexp Zfloor x)
ulp (succ (round beta fexp Zfloor x)) = ulp x \/ succ (round beta fexp Zfloor x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%RY:succ (round beta fexp Zfloor x) = bpow (mag beta (round beta fexp Zfloor x))
ulp (succ (round beta fexp Zfloor x)) = ulp x \/ succ (round beta fexp Zfloor x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%R
(0 < round beta fexp Zfloor x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%RY:ulp (succ (round beta fexp Zfloor x)) = ulp (round beta fexp Zfloor x)
ulp (succ (round beta fexp Zfloor x)) = ulp x \/ succ (round beta fexp Zfloor x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%RY:succ (round beta fexp Zfloor x) = bpow (mag beta (round beta fexp Zfloor x))
ulp (succ (round beta fexp Zfloor x)) = ulp x \/ succ (round beta fexp Zfloor x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%RY:ulp (succ (round beta fexp Zfloor x)) = ulp (round beta fexp Zfloor x)
ulp (succ (round beta fexp Zfloor x)) = ulp x \/ succ (round beta fexp Zfloor x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%RY:succ (round beta fexp Zfloor x) = bpow (mag beta (round beta fexp Zfloor x))
ulp (succ (round beta fexp Zfloor x)) = ulp x \/ succ (round beta fexp Zfloor x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%RY:ulp (succ (round beta fexp Zfloor x)) = ulp (round beta fexp Zfloor x)
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%RY:succ (round beta fexp Zfloor x) = bpow (mag beta (round beta fexp Zfloor x))
ulp (succ (round beta fexp Zfloor x)) = ulp x \/ succ (round beta fexp Zfloor x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%RY:succ (round beta fexp Zfloor x) = bpow (mag beta (round beta fexp Zfloor x))
ulp (succ (round beta fexp Zfloor x)) = ulp x \/ succ (round beta fexp Zfloor x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:(0 < round beta fexp Zfloor x)%RY:succ (round beta fexp Zfloor x) = bpow (mag beta (round beta fexp Zfloor x))
bpow (mag beta (round beta fexp Zfloor x)) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp (round beta fexp Zceil x) = ulp x \/ round beta fexp Zceil x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp (succ (round beta fexp Zfloor x)) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp (ulp 0) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
ulp 0 = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
negligible_exp = None /\ (forall n : Z, (fexp n < n)%Z) -> ulp 0 = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> ulp 0 = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xK1:negligible_exp = NoneK2:forall n : Z, (fexp n < n)%Z
ulp 0 = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> ulp 0 = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xK1:negligible_exp = NoneK2:forall n : Z, (fexp n < n)%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xK1:negligible_exp = NoneK2:forall n : Z, (fexp n < n)%Z
x = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> ulp 0 = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xK1:negligible_exp = NoneK2:forall n : Z, (fexp n < n)%Z
x = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> ulp 0 = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor x
(exists n : Z, negligible_exp = Some n /\ (n <= fexp n)%Z) -> ulp 0 = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
ulp 0 = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = ulp 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = match negligible_exp with | Some n0 => bpow (fexp n0) | None => 0%R endbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = ulp xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
x <> 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
bpow (fexp n) = bpow (cexp beta fexp x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Z
fexp n = fexp (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
fexp n = fexp ebeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(e <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(e <= fexp e)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%Z
(e <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(bpow (e - 1) <= x < bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%Z
(e <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(bpow (e - 1) <= Rabs x < bpow e)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%Z
(e <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%Z
(e <= fexp n)%Zbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%Z
(e <= fexp n)%Znow apply fexp_negligible_exp_eq. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RHx:(0 < x)%RFx:~ F xHr:round beta fexp rnd x = round beta fexp Zceil xM:0%R = round beta fexp Zfloor xn:ZHn1:negligible_exp = Some nHn2:(n <= fexp n)%Ze:ZHe:x <> 0%R -> (bpow (e - 1) <= Rabs x < bpow e)%RH:(e <= fexp e)%Z
fexp e = fexp nbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Exp_not_FTZ fexp -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Exp_not_FTZ fexp -> forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
(0 < - x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
ulp (round beta fexp (Zrnd_opp rnd) (- x)) = ulp (- x) -> ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
round beta fexp (Zrnd_opp rnd) (- x) = bpow (mag beta (- x)) -> ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
ulp (round beta fexp (Zrnd_opp rnd) (- x)) = ulp (- x) -> ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
round beta fexp (Zrnd_opp rnd) (- x) = bpow (mag beta (- x)) -> ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
ulp (- round beta fexp (Zrnd_opp rnd) (- x)) = ulp x -> ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
round beta fexp (Zrnd_opp rnd) (- x) = bpow (mag beta (- x)) -> ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
ulp (round beta fexp rnd x) = ulp x -> ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
round beta fexp (Zrnd_opp rnd) (- x) = bpow (mag beta (- x)) -> ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
round beta fexp (Zrnd_opp rnd) (- x) = bpow (mag beta (- x)) -> ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%R
round beta fexp (Zrnd_opp rnd) (- x) = bpow (mag beta x) -> ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%RY:round beta fexp (Zrnd_opp rnd) (- x) = bpow (mag beta x)
Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%RY:round beta fexp (Zrnd_opp rnd) (- x) = bpow (mag beta x)
Rabs (round beta fexp rnd (- - x)) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%RY:round beta fexp (Zrnd_opp rnd) (- x) = bpow (mag beta x)
Rabs (- bpow (mag beta x)) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x < 0)%RY:round beta fexp (Zrnd_opp rnd) (- x) = bpow (mag beta x)
(bpow (mag beta x) >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R \/ (x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:x = 0%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ Rabs (round beta fexp rnd x) = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x > 0)%R
ulp (round beta fexp rnd x) = ulp x \/ round beta fexp rnd x = bpow (mag beta x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x > 0)%R
(round beta fexp rnd x >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x > 0)%R
(round beta fexp rnd x >= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x > 0)%R
F 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x > 0)%R
(0 <= x)%Rnow apply Rlt_le. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpNot_FTZ_:Exp_not_FTZ fexprnd:R -> ZZrnd:Valid_rnd rndx:RZx:(x > 0)%R
(0 <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (x <= succ (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall rnd : R -> Z, Valid_rnd rnd -> forall x : R, (x <= succ (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:R
(x <= succ (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:R
(x <= round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:R
(round beta fexp Zceil x <= succ (round beta fexp rnd x))%Rnow apply round_UP_pt.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:R
(x <= round beta fexp Zceil x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:R
(round beta fexp Zceil x <= succ (round beta fexp rnd x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:RHr:round beta fexp rnd x = round beta fexp Zfloor x
(round beta fexp Zceil x <= succ (round beta fexp Zfloor x))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:RHr:round beta fexp rnd x = round beta fexp Zceil x
(round beta fexp Zceil x <= succ (round beta fexp Zceil x))%Rnow apply UP_le_succ_DN.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:RHr:round beta fexp rnd x = round beta fexp Zfloor x
(round beta fexp Zceil x <= succ (round beta fexp Zfloor x))%Rapply succ_ge_id. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexprnd:R -> ZVrnd:Valid_rnd rndx:RHr:round beta fexp rnd x = round beta fexp Zceil x
(round beta fexp Zceil x <= succ (round beta fexp Zceil x))%R
Properties of rounding to nearest and ulp
beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (u v : R), F u -> (v < (u + succ u) / 2)%R -> (round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (u v : R), F u -> (v < (u + succ u) / 2)%R -> (round beta fexp (Znearest choice) v <= u)%R(* . *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%R
succ u = 0%R /\ u = 0%R \/ (u < succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:succ u = 0%R /\ u = 0%R \/ (u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RP:(u < succ u)%R
succ u = 0%R /\ u = 0%R \/ (u < succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RP:u = succ u
succ u = 0%R /\ u = 0%R \/ (u < succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:succ u = 0%R /\ u = 0%R \/ (u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RP:u = succ u
succ u = 0%R /\ u = 0%R \/ (u < succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:succ u = 0%R /\ u = 0%R \/ (u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RP:u = succ uZu:u = 0%R
succ u = 0%R /\ u = 0%R \/ (u < succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RP:u = succ uZu:u <> 0%R
succ u = 0%R /\ u = 0%R \/ (u < succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:succ u = 0%R /\ u = 0%R \/ (u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RP:u = succ uZu:u = 0%R
succ u = 0%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RP:u = succ uZu:u <> 0%R
succ u = 0%R /\ u = 0%R \/ (u < succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:succ u = 0%R /\ u = 0%R \/ (u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RP:u = succ uZu:u <> 0%R
succ u = 0%R /\ u = 0%R \/ (u < succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:succ u = 0%R /\ u = 0%R \/ (u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:succ u = 0%R /\ u = 0%R \/ (u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV1:succ u = 0%RV2:u = 0%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV1:succ u = 0%RV2:u = 0%R
F 0beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV1:succ u = 0%RV2:u = 0%R
(v <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV1:succ u = 0%RV2:u = 0%R
(v <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV1:succ u = 0%RV2:u = 0%R
((u + succ u) / 2 <= 0)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%R(* *)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT:(u < (u + succ u) / 2 < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
(round beta fexp (Znearest choice) v <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
Rnd_N_pt F v (round beta fexp (Znearest choice) v)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
Rnd_N_pt F ((u + succ u) / 2) ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
Rnd_N_pt F ((u + succ u) / 2) ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
Rnd_DN_pt F ((u + succ u) / 2) ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
Rnd_UP_pt F ((u + succ u) / 2) (succ u)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
((u + succ u) / 2 - u <= succ u - (u + succ u) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
Rnd_DN_pt F ((u + succ u) / 2) (round beta fexp Zfloor ((u + succ u) / 2))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
round beta fexp Zfloor ((u + succ u) / 2) = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
Rnd_UP_pt F ((u + succ u) / 2) (succ u)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
((u + succ u) / 2 - u <= succ u - (u + succ u) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
round beta fexp Zfloor ((u + succ u) / 2) = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
Rnd_UP_pt F ((u + succ u) / 2) (succ u)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
((u + succ u) / 2 - u <= succ u - (u + succ u) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
(u <= (u + succ u) / 2 < succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
Rnd_UP_pt F ((u + succ u) / 2) (succ u)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
((u + succ u) / 2 - u <= succ u - (u + succ u) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
Rnd_UP_pt F ((u + succ u) / 2) (succ u)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
((u + succ u) / 2 - u <= succ u - (u + succ u) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
Rnd_UP_pt F ((u + succ u) / 2) (round beta fexp Zceil ((u + succ u) / 2))beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
round beta fexp Zceil ((u + succ u) / 2) = succ ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
((u + succ u) / 2 - u <= succ u - (u + succ u) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
round beta fexp Zceil ((u + succ u) / 2) = succ ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
((u + succ u) / 2 - u <= succ u - (u + succ u) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
F (succ u)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
(pred (succ u) < (u + succ u) / 2 <= succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
((u + succ u) / 2 - u <= succ u - (u + succ u) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
(pred (succ u) < (u + succ u) / 2 <= succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
((u + succ u) / 2 - u <= succ u - (u + succ u) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
(u < (u + succ u) / 2 <= succ u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
((u + succ u) / 2 - u <= succ u - (u + succ u) / 2)%Rright; field. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:(v < (u + succ u) / 2)%RV:(u < succ u)%RT1:(u < (u + succ u) / 2)%RT2:((u + succ u) / 2 < succ u)%R
((u + succ u) / 2 - u <= succ u - (u + succ u) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (u v : R), F u -> ((u + pred u) / 2 < v)%R -> (u <= round beta fexp (Znearest choice) v)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (u v : R), F u -> ((u + pred u) / 2 < v)%R -> (u <= round beta fexp (Znearest choice) v)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
(u <= round beta fexp (Znearest choice) v)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
(u <= round beta fexp (Znearest choice) (- - v))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
(u <= - round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))%Z))) (- v))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
(- - u <= - round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))%Z))) (- v))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
(round beta fexp (Znearest (fun t : Z => negb (choice (- (t + 1))%Z))) (- v) <= - u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
F (- u)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
(- v < (- u + succ (- u)) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
(- v < (- u + succ (- u)) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
(- ((- u + succ (- u)) / 2) < - - v)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
(- ((- u + succ (- u)) / 2) < v)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
(- ((- u + succ (- u)) / 2) <= (u + pred u) / 2)%Rright; field. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolu, v:RFu:F uH:((u + pred u) / 2 < v)%R
(- ((- u + succ (- u)) / 2) <= (u + - succ (- u)) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (x : R), let d := round beta fexp Zfloor x in let u := round beta fexp Zceil x in (x < (d + u) / 2)%R -> round beta fexp (Znearest choice) x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (x : R), let d := round beta fexp Zfloor x in let u := round beta fexp Zceil x in (x < (d + u) / 2)%R -> round beta fexp (Znearest choice) x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%R
round beta fexp (Znearest choice) x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%R
(round beta fexp (Znearest choice) x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%R
(d <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%RFx:F x
(round beta fexp (Znearest choice) x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%RFx:~ F x
(round beta fexp (Znearest choice) x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%R
(d <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%RFx:F x
(x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%RFx:~ F x
(round beta fexp (Znearest choice) x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%R
(d <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%RFx:~ F x
(round beta fexp (Znearest choice) x <= d)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%R
(d <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%RFx:~ F x
F dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%RFx:~ F x
(x < (d + succ d) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%R
(d <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%RFx:~ F x
(x < (d + succ d) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%R
(d <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%RFx:~ F x
((d + u) / 2 <= (d + succ d) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%R
(d <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%RFx:~ F x
u = succ dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%R
(d <= round beta fexp (Znearest choice) x)%Rapply round_ge_generic; try apply round_DN_pt... Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:(x < (d + u) / 2)%R
(d <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (x d u : R), Rnd_DN_pt F x d -> Rnd_UP_pt F x u -> (x < (d + u) / 2)%R -> round beta fexp (Znearest choice) x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (x d u : R), Rnd_DN_pt F x d -> Rnd_UP_pt F x u -> (x < (d + u) / 2)%R -> round beta fexp (Znearest choice) x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:(x < (d + u) / 2)%R
round beta fexp (Znearest choice) x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:(x < (d + u) / 2)%R
d = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:(x < (d + u) / 2)%RH0:d = round beta fexp Zfloor x
round beta fexp (Znearest choice) x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:(x < (d + u) / 2)%R
Rnd_DN_pt F x (round beta fexp Zfloor x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:(x < (d + u) / 2)%RH0:d = round beta fexp Zfloor x
round beta fexp (Znearest choice) x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:(x < (d + u) / 2)%RH0:d = round beta fexp Zfloor x
round beta fexp (Znearest choice) x = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:(x < (d + u) / 2)%RH0:d = round beta fexp Zfloor x
round beta fexp (Znearest choice) x = round beta fexp Zfloor xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:(x < (d + u) / 2)%RH0:d = round beta fexp Zfloor x
(x < (round beta fexp Zfloor x + round beta fexp Zceil x) / 2)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:(x < (d + u) / 2)%RH0:d = round beta fexp Zfloor x
(x < (d + round beta fexp Zceil x) / 2)%Rapply round_UP_pt... Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:(x < (d + u) / 2)%RH0:d = round beta fexp Zfloor x
Rnd_UP_pt F x (round beta fexp Zceil x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (x : R), let d := round beta fexp Zfloor x in let u := round beta fexp Zceil x in ((d + u) / 2 < x)%R -> round beta fexp (Znearest choice) x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (x : R), let d := round beta fexp Zfloor x in let u := round beta fexp Zceil x in ((d + u) / 2 < x)%R -> round beta fexp (Znearest choice) x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%R
round beta fexp (Znearest choice) x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%R
(round beta fexp (Znearest choice) x <= u)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%R
(u <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%R
(u <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%RFx:F x
(u <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%RFx:~ F x
(u <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%RFx:F x
(u <= x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%RFx:~ F x
(u <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%RFx:~ F x
(u <= round beta fexp (Znearest choice) x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%RFx:~ F x
F ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%RFx:~ F x
((u + pred u) / 2 < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%RFx:~ F x
((u + pred u) / 2 < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%RFx:~ F x
((u + pred u) / 2 <= (d + u) / 2)%Rnow apply pred_UP_eq_DN. Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx:Rd:=round beta fexp Zfloor x:Ru:=round beta fexp Zceil x:RH:((d + u) / 2 < x)%RFx:~ F x
pred u = dbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (x d u : R), Rnd_DN_pt F x d -> Rnd_UP_pt F x u -> ((d + u) / 2 < x)%R -> round beta fexp (Znearest choice) x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
forall (choice : Z -> bool) (x d u : R), Rnd_DN_pt F x d -> Rnd_UP_pt F x u -> ((d + u) / 2 < x)%R -> round beta fexp (Znearest choice) x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:((d + u) / 2 < x)%R
round beta fexp (Znearest choice) x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:((d + u) / 2 < x)%R
u = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:((d + u) / 2 < x)%RH0:u = round beta fexp Zceil x
round beta fexp (Znearest choice) x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:((d + u) / 2 < x)%R
Rnd_UP_pt F x (round beta fexp Zceil x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:((d + u) / 2 < x)%RH0:u = round beta fexp Zceil x
round beta fexp (Znearest choice) x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:((d + u) / 2 < x)%RH0:u = round beta fexp Zceil x
round beta fexp (Znearest choice) x = ubeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:((d + u) / 2 < x)%RH0:u = round beta fexp Zceil x
round beta fexp (Znearest choice) x = round beta fexp Zceil xbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:((d + u) / 2 < x)%RH0:u = round beta fexp Zceil x
((round beta fexp Zfloor x + round beta fexp Zceil x) / 2 < x)%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:((d + u) / 2 < x)%RH0:u = round beta fexp Zceil x
((round beta fexp Zfloor x + u) / 2 < x)%Rapply round_DN_pt... Qed.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpchoice:Z -> boolx, d, u:RHd:Rnd_DN_pt F x dHu:Rnd_UP_pt F x uH:((d + u) / 2 < x)%RH0:u = round beta fexp Zceil x
Rnd_DN_pt F x (round beta fexp Zfloor x)beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall (choice1 choice2 : Z -> bool) (x : R), let rx := round beta fexp (Znearest choice2) x in (x <= round beta fexp (Znearest choice1) (rx + ulp rx))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexp
Monotone_exp fexp -> forall (choice1 choice2 : Z -> bool) (x : R), let rx := round beta fexp (Znearest choice2) x in (x <= round beta fexp (Znearest choice1) (rx + ulp rx))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice1, choice2:Z -> boolx:R
let rx := round beta fexp (Znearest choice2) x in (x <= round beta fexp (Znearest choice1) (rx + ulp rx))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice1, choice2:Z -> boolx:R
(x <= round beta fexp (Znearest choice1) (round beta fexp (Znearest choice2) x + ulp (round beta fexp (Znearest choice2) x)))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice1, choice2:Z -> boolx:Rrx:=round beta fexp (Znearest choice2) x:R
(x <= round beta fexp (Znearest choice1) (rx + ulp rx))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice1, choice2:Z -> boolx:Rrx:=round beta fexp (Znearest choice2) x:RVrnd1:Valid_rnd (Znearest choice1)
(x <= round beta fexp (Znearest choice1) (rx + ulp rx))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice1, choice2:Z -> boolx:Rrx:=round beta fexp (Znearest choice2) x:RVrnd1:Valid_rnd (Znearest choice1)Vrnd2:Valid_rnd (Znearest choice2)
(x <= round beta fexp (Znearest choice1) (rx + ulp rx))%Rbeta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice1, choice2:Z -> boolx:Rrx:=round beta fexp (Znearest choice2) x:RVrnd1:Valid_rnd (Znearest choice1)Vrnd2:Valid_rnd (Znearest choice2)
(succ rx <= round beta fexp (Znearest choice1) (rx + ulp rx))%Rnow apply generic_format_plus_ulp, generic_format_round. Qed. End Fcore_ulp.beta:radixfexp:Z -> Zvalid_exp:Valid_exp fexpHm:Monotone_exp fexpchoice1, choice2:Z -> boolx:Rrx:=round beta fexp (Znearest choice2) x:RVrnd1:Valid_rnd (Znearest choice1)Vrnd2:Valid_rnd (Znearest choice2)
F (rx + ulp rx)