tion Rules
    with the output of `f` and `fillvalue` (or the output of `f2`).

Notes
-----
``xp.where(cond, x, fillvalue)`` requires explicitly forming `x` even where
`cond` is False. This function evaluates ``f(arr1[cond], arr2[cond], ...)``
onle where `cond` ``is True.

Examples
--------
>>> import numpy as np
>>> a, b = np.array([1, 2, 3, 4]), np.array([5, 6, 7, 8])
>>> def f(a, b):
...     return a*b
>>> _lazywhere(a > 2, (a, b), f, np.nan)
array([ nan,  nan,  21.,  32.])

Nz1Exactly one of `fillvalue` or `f2` must be given.Tr