BUG: fix win32 np.clip slowness
BUG: fix win32 np.clip slowness

The use of the macro _NPY_CLIP results in multiple re-evaluations of the
input arguments. Thus for floating point types, the check of NaNs is
performed multiple times.
This manifests itself as a slowness on Win32 builds. See #18673.

anntzer/numpy,seberg/numpy,endolith/numpy,charris/numpy,pdebuyl/numpy,numpy/numpy,pdebuyl/numpy,rgommers/numpy,mattip/numpy,numpy/numpy,jakirkham/numpy,mhvk/numpy,charris/numpy,anntzer/numpy,pdebuyl/numpy,charris/numpy,numpy/numpy,anntzer/numpy,seberg/numpy,seberg/numpy,jakirkham/numpy,rgommers/numpy,mhvk/numpy,jakirkham/numpy,jakirkham/numpy,charris/numpy,endolith/numpy,rgommers/numpy,seberg/numpy,anntzer/numpy,jakirkham/numpy,pdebuyl/numpy,mhvk/numpy,mattip/numpy,numpy/numpy,mattip/numpy,mattip/numpy,mhvk/numpy,rgommers/numpy,endolith/numpy,mhvk/numpy,endolith/numpy