Revamp the inf/nan handling again.