How can I plot function density plot Hyper-geometric /Bessel function with complex arguments?

I am interested in the plot of a function in terms of hypergeometric and Bessel function with complex arguments, Here, it is my code, but the result is incorrect, the solution must be defined every in the interval x,y [-30,30]. Where is the problem? How can I fix it?

Clear["Global*"];  Remove["Global*"];
L = 30;

sx[x_, y_] =
1/Abs[x + I y] (0. +
0.45 I) (BesselJ[-(1/4), 0.45  Re[Sqrt[x + I y]]^2] BesselJ[3/4,
0.45  Im[Sqrt[x + I y]]^2] -
1. BesselJ[-(1/4), 0.45  Im[Sqrt[x + I y]]^2] BesselJ[3/4,
0.4  Re[Sqrt[x + I y]]^2]) Hypergeometric0F1[3/
4, -0.051 Im[Sqrt[x + I y]]^4] Hypergeometric0F1[3/
4, -0.051  Re[Sqrt[x + I y]]^4] (Im[Sqrt[x + I y]] Re[Sqrt[
x + I y]])^(3/2)

outplot =
DensityPlot[Abs[Im[sx[x, y]]], {x, -L, L}, {y, -L, L},
PlotRange -> Full, PlotPoints -> 150, ColorFunction -> "Rainbow",
Axes -> True, AxesLabel -> {x, y}, FrameTicks -> True,
Exclusions -> None]

• Where is the result incorrect? Where is the result undefined and what should it be? Just guessing, compare Table[x=RandomReal[{-30,30}];y=RandomReal[{0,30}];Abs[Im[sx[x,y]]],{10}] and Table[x=RandomReal[{-30,30}];y=RandomReal[{-30,0}];Abs[Im[sx[x,y]]],{10}]
– Bill
Commented Feb 6, 2020 at 18:46
• @Bill, I tried your comment, but I do not expect a plot similar I show above, this behavior is unexpected I have zero region ( see the figure above) Commented Feb 14, 2020 at 1:37
• Try DensityPlot[If[y<0,Abs[Re[sx[x,y]]],Abs[Im[sx[x,y]]]],{x,-L,L},{y,-L,L},PlotRange->Full,PlotPoints->150,ColorFunction->"Rainbow",Axes->True,AxesLabel->{x,y},FrameTicks->True,Exclusions->None] and then very carefully look at Table[sx[x,y],{x,-L,L,6},{y,-L,L,6}]//TableForm to understand why your original top and bottom half of your plot looks different. Perhaps that will tell you what you really need to plot
– Bill
Commented Feb 15, 2020 at 22:06

ComplexPlot[Rationalize[1/Abs[z] (0. +
`