def sm_big
bend-collections-laws-math@1.0.0.0 · src/math/f64.bend:258
import bend-collections-laws-math@1.0.0.0/src/math/f64.bend as F64
import Base
import bend-collections-laws-math@1.0.0.0/src/math/u64.bend as W
import bend-collections-laws-math@1.0.0.0/src/math/w64.bend as X
258
259def sm_big(+big: F64, +s: Bool, +el: Nat, +fl: W.U64, +es: Nat, +fs: W.U64, top: Bool) -> F64:
260 match top:
261 case True{}:
262 nan_or(big, nz(fl))
263 case False{}:
264 norm_round_pack(s, Nat.add(off(), Nat.sub(el, 1n)), X.sub(X.add(X.shl(fl, 10n), W.U64{0, 1073741824}), X.shr_jam(sm_small(es, X.shl(fs, 10n)), Nat.sub(el, es))))