BloombergLP::bdldfp::Decimal32 is able to distinguish loss of precision (floating-point underflow) due to denormalization from other causes.
BloombergLP::bdldfp::Decimal32
Declared in <bdldfp_decimal.h>
<bdldfp_decimal.h>
static bool const has_denorm_loss = true;