Julia, 27 26 18 bytes
!n=log(3n+.7)÷.48
This uses the inverse of Binet's formulaBinet's formula, with just enough precision for 32-bit integers; it actually works up to F(153) = 42,230,279,526,998,466,217,810,220,532,898 > 2105.
How it works
Binet's formula states the following.

Restricting F to the set of Fibonacci, the map n → Fn has a right inverse F → nF.
We have that

and all that is left to do is dealing with the edge case 0.
Since the input is restricted to 32-bit integers, we can use short decimal literals instead of the constants in the formula.
log φ = 0.481211825059603447… ≈ 0.48
Unfortunately, 0.5 isn't precise enough.
√5 = 2.2360679774997896964… ≈ 3
That might seem like an awful approximation at first glance, but we're taking logarithms and since log 3 - log √5 = 0.29389333245105…, the result before rounding will be off by a small constant factor.
0.5 ≈ 0.7
Because of the excess from the previous approximation, we could actually omit this term altogether and still get correct results for F > 0. However, if F = 0, the logarithm will be undefined. 0.7 turned out to be the shortest value that extends our formula to F = 0.