Find the inverse function of $\log_{\sqrt{4-x^2} } \left(x^3+5x^2-x \right)$

Brute force inverse.   It is always possible to tabulate the function over a certain interval, for example $\left(-\sqrt{3},0\right)$ as suggested by Rory Daulton. For each argument of the inverse function as desired followed by a search in the table entry of the $y$-values and constructing the corresponding function $x$-value by interpolation. Here comes a non-optimized Pascal program snippet that does the job. The more refined the sampling (`Wide = 1000` here ) , the better the result.
program furious;
const Wide : integer = 1000; var xmin,xmax : double; x,y : array of double;
function F(x : double) : double; begin F := ln(x*sqr(x)+5*sqr(x)-x)/ln(sqrt(4-sqr(x))); end;
function i2x(i : integer) : double; begin i2x := xmin + i*(xmax-xmin)/(Wide-1); end;
procedure table; var i : integer; min,max : double; begin xmin := -sqrt(3); xmax := 0; SetLength(x,Wide); SetLength(y,Wide); min := 0; max := 0; { Avoiding singularities } for i := 1 to Wide-2 do begin x[i] := i2x(i); y[i] := F(x[i]); if y[i] < min then min := y[i]; if y[i] > max then max := y[i]; { if i < 20 then TEST Writeln(y[i],' ',x[i]); } end; { Writeln(min,' < x <',max); } end;
function inverse(w : double) : double; var k,item : integer; begin item := 0; for k := 1 to Wide-3 do begin item := k; if (y[k+1] <= w) and (w <= y[k]) then Break; end; k := item; { Writeln(k); } inverse := x[k+1]+(w-y[k+1])/(y[k]-y[k+1])*(x[k]-x[k+1]); end;
begin table; Writeln(inverse(100)); end.
Output:
-1.71754524598803E+0000
Note.   In the world where I come from - Applied Physics - there exist truly ugly functions (e.g. of temperature) that aim to describe material properties, often consisting of several pieces. Finding the inverse of such a function can only be done with the above method, as far as I know. Insisting on closed forms simply means there that you're out of business.