(Disclaimer: I'm not associated with IEEE 754)
Prioritizes being correct and readable over performance. Built on top of algebraics, the algebraic numbers library that I also wrote.
Supports emulating all platforms without changing compiletime configuration options (unlike Berkeley SoftFloat).
Allows bigint based floats  can make f65536
if desired! (though it will be very slow for big numbers)
Supports IEEE 754 status flags.
Supports 5 different rounding modes.
Supports emulating trapping FP operations. (checking status flags after each operation still needed)
Caveat: currently doesn't completely handle NaN payload propagation, however should be 100% bitlevel accurate on RISCV where NaN payload propagation isn't needed.
Tested against Berkeley SoftFloat, the defacto industrystandard reference implementation of IEEE 754.
https://crates.io/crates/simplesoftfloat
Source on Debian Salsa (also mirrored on GitHub):
Implemented Types:
f16
f32
f64
f128
 custom types (not thoroughly tested, all IEEE754 standard interchange types should be bugfree except for NaN payload propagation)

DynamicFloat
(dynamically adjustable type, bigint based)
 Add, Sub, Mul, Div, Sqrt, fused muladd
 Quiet/Signaling Compare
 Integer <> Float conversions
 Float <> Float conversions
 next_down/next_up
 sign manipulation (neg, abs, copy_sign, direct sign access)
 reciprocal squareroot
1 / sqrt(x)
 not supported on Berkeley SoftFloat  many more (implements all IEEE 7542019 required operations)
 ARM
 RISCV
 Power ISA
 x86 SSE/AVX
 Sparc
 HPPA
 MIPS 2008 revision
 MIPS pre2008 revision
 Custom