MATLAB: Do BESSELH and BESSELJ give different results when nu is several orders greater than z

MATLAB

I call the BESSELH function with the following syntax:
H = besselh(nu,K,Z)
I expect the real part of the answer to be the same as that obtained using BESSELJ with the same input parameters.
If I input nu and Z parameters that are on the same order of magitude, the real part of the answers are the same. However, when nu is an order of magnitude greater than z, the answers are different.
Reproduction Steps:
Case 1: nu much greater Z by an order of magnitude
H = besselh(100,1,10)
returns
H = 8.0270e+069 -4.8491e+085i
Compared to executing BESSELJ with the same nu and Z parameters
H = besselj(100,10)
returns
H = 6.5973e-089
The real part of besselh is different from that returned by besselj.
Case 2: nu is on the same order as Z
H = besselh(10,1,10)
returns
H = 0.2075 - 0.3598i
And BESSELJ returns the same value for the real part:
H = besselj(10,10)
returns
H = 0.2075

Best Answer

This is expected behavior when doing complex arithmetic where in the real and imaginary parts do not have high accuracy relative to themselves. This happens because of the huge magnitude difference in the real and imaginary values.