  Given a function $f$ from the set $[N]$ to a $d$-dimensional integer grid, we
consider data structures that allow efficient orthogonal range searching
queries in the image of $f$, without explicitly storing it.
  We show that, if $f$ is of the form $[N]\to [2^{w}]^d$ for some
$w=\mathrm{polylog} (N)$ and is computable in constant time, then, for any
$0<\alpha <1$, we can obtain a data structure using $\tilde {O}(N^{1-\alpha /
3})$ words of space such that, for a given $d$-dimensional axis-aligned box
$B$, we can search for some $x\in [N]$ such that $f(x) \in B$ in time
$\tilde{O}(N^{\alpha})$.
  This result is obtained simply by combining integer range searching with the
Fiat-Naor function inversion scheme, which was already used in data-structure
problems previously.
  We further obtain
  - data structures for range counting and reporting, predecessor, selection,
ranking queries, and combinations thereof, on the set $f([N])$,
  - data structures for preimage size and preimage selection queries for a
given value of $f$, and
  - data structures for selection and ranking queries on geometric quantities
computed from tuples of points in $d$-space.
  These results unify and generalize previously known results on 3SUM-indexing
and string searching, and are widely applicable as a black box to a variety of
problems.
  In particular, we give a data structure for a generalized version of gapped
string indexing, and show how to preprocess a set of points on an integer grid
in order to efficiently compute (in sublinear time), for points contained in a
given axis-aligned box, their Theil-Sen estimator, the $k$th largest area
triangle, or the induced hyperplane that is the $k$th furthest from the origin.
