def fmin
import bend-collections-laws-crypto@1.0.0.0/spec/math/f64.bend as F64import Base
import bend-collections-laws-crypto@1.0.0.0/src/math/f64.bend as F
455# IEEE 754-2019 minimumNumber / maximumNumber (10: fmin/fmax fix the
456# order dependence of min/max with NaN): a NaN operand is ignored, -0 < +0
457def fmin(+x: F.F64, +y: F.F64) -> F.F64:
458 pick(F.F64, is_nan(x), pick(F.F64, is_nan(y), qnan(), y), pick(F.F64, is_nan(y), x, pick(F.F64, Bool.and(is_zero(x), is_zero(y)), zero(Bool.or(sign(x), sign(y))), pick(F.F64, Cmp.is_lt(ord(x, y)), x, y))))