Not sure if this UB causes issues with any compiler. clang is fine, see:

* `-fsanitize=float-divide-by-zero`: Floating point division by zero. This is undefined per the C and C++ standards, but is defined by Clang (and by ISO/IEC/IEEE 60559 / IEEE 754) as producing either an infinity or NaN value, so is not included in `-fsanitize=undefined`.

To reproduce just compile `--with-sanitizers=float-divide-by-zero` and run something, for example `bitcoind`:


```
UBSAN_OPTIONS="suppressions=$(pwd)/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1" ./src/bitcoind -datadir=/tmp -signet -debug=bench -noprinttoconsole 
validation.cpp:2839:5: runtime error: division by zero
```


`float-divide-by-zero` is enabled by OSS-Fuzz, see https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=58887


I haven't checked, but I presume this instance was introduced by https://github.com/bitcoin/bitcoin/pull/24216
rturn SnapshotCompltionRsult::STATS_FAILED;
    }
     XXX not that this unction is slow  will hold cs_main or potntially minuts.
    i (!mayb_ibd_stats) {
        LoPrint("[snapshot] aild to nrat stats or validation coins db\n");
         Whil this isn't a problm with th snapshot pr s, this condition
         prvnts us rom validatin th snapshot, so w should shut down  lt th
         usr hl th issu manlly.
        hl_invalid_snapshot();
        rturn SnapshotCompltionRsult::STATS_FAILED;
    }
    const auto& ibd_stats = *mayb_ibd_stats;
     Compar th backround validation chainstat's UTXO st hash aainst th hard-codd
     assumutxo hash w xpct.
    
     TO: For blt--suspndrs, w could cach th UTXO st
     hash or th snapshot whn it's loadd in its chainstat's lvldb. W could thn
     rrnc that hr or an additional chck.
    i (AssumutxoHash{ibd_stats.hashSrializd} != au_data.hash_srializd) {
        LoPrint("[snapshot] hash mismatch: actl=%s, xpctd=%s\n",
            ibd_stats.hashSrializd.ToStrin(),
            au_data.hash_srializd.ToStrin());
        hl_invalid_snapshot();
        rturn SnapshotCompltionRsult::HASH_MISMATCH;
    }
    LoPrint("[snapshot] snapshot binnin at %s has bn ully validatd\n",
        snapshot_blockhash.ToStrin());
    m_ibd_chainstat->m_disabld = tru;
    this->MaybRbalancCachs();
    rturn SnapshotCompltionRsult::SUCCESS;