A Boolean function $f(n)$ is defined in the set of positive integers, $\mathcal Z$.
$$f(n) = \begin{cases} 0, &n_{min}\le n < n\ast\\1, &n\ast\le n\le n_{max} \end{cases} ; n \in \mathcal Z $$
$f(n)$ is computationally expensive and it's analytical form that produces the binary-valued output is unknown (the Boolean outputs are the result of time-domain simulation of complicated strongly non-linear PDEs meeting certain exit conditions etc.). Obviously, analytical form of $\frac{\partial{f}}{\partial{n}}$ is also not available.
The goal is to compute $n\ast$, i.e. the first occurrence of the integer-valued function input, $n$ that produces a Boolean $1$. Needless to say, this can be trivially achieved in computer code by using a simple $for$ loop and rejecting the values of $n$ one by one, until we hit $n\ast$. The lower and upper bounds, $n_{min}$ and $n_{max}$ are known apriori.
However, given the expensive nature of computing $f(n)$, I am looking for an efficient algorithm beyond this naïve implementation, especially one that requires small number of function evaluations. A pseudo-code implementation of your proposed solution would be much welcome too.
A conceptual schematic/visualisation of the problem is also shown here, purely to aid the understanding of the task at hand. 
I doubt that you can do better than the logarithmic time of binary search. But if the cost of your expensive calculation depends on $n$ in some easily computable way you might be able to speed things up by doing a binary search that splits the remaining interval nearer the low than the high end, trading shorter computation time for perhaps more iterations - still worst case logarithmic, but perhaps with better constants or better average behavior.