If you're going to search, at least search with bisection which should take no more than about 1024 iterations since that's 2(#bits in exponent).
But it turns out that you don't need to because you can find it by trial even faster. It should be very close to 1/Double.MaxValue
:
scala> Double.MaxValue
res35: Double = 1.7976931348623157E308
scala> 1/res35
res36: Double = 5.562684646268003E-309
scala> 1/res36
res37: Double = Infinity
scala> 1/(res36+math.ulp(res36))
res38: Double = 1.7976931348623143E308
scala> res36+math.ulp(res36)
res39: Double = 5.56268464626801E-309
Not so bad.