I wrote quickcheck tests for a Haskell program that optimizes and evaluates a function.
The problem is quickcheck generates expressions resulting in NaN lik
NaN
No, as is defined by IEEE 754 comparing 2 NaNs always return false. To chceck if your value is NaN in Haskell you can use isNaN method or write it by yourself
isNaN' :: a -> Bool isNaN' a = a /= a