Remix.run Logo
▲ a_e_k 3 hours ago

For the float stuff, beware of `-ffinite-math-only`. If enabled, `isfinite()` and may compile out as assumed true (with similar assumptions around `isnan()` and `isinf()`).

And `-ffinite-math-only` is enabled by `-ffast-math` which in turn is enabled by `-Ofast`.

▲toolslive 2 hours ago | parent [-]

Not only that: `-ffast-math` might change the result of flops when the arguments are regular floats too. (It abandons IEEE754 compliance)