def MulOk
import bend-lawful-stdlib@0.1.0.0/src/float/num.bend as Numimport Base
import bend-lawful-stdlib@0.1.0.0/src/float/format.bend as Fmt
43# mul is correctly rounded at a and b
44def MulOk(~T: Data, ~i: Impl<T>, a: T, b: T) -> Type:
45 {Fmt.canon(Impl.value(T, i, Impl.mul(T, i, a, b))) == Fmt.canon(Fmt.spec_mul(Impl.fmt(T, i), Impl.value(T, i, a), Impl.value(T, i, b))) : Fmt.Val}