long H4(double ar, double ai, double aj, double ak, double br, double bi, double bj, double bk, long zkl)
{
double aar, aai, aaj, aak;
double d;
long tw;
int n;
aar = ar * ar; aai = ai * ai; aaj = aj * aj; aak = ak * ak; tw = 0L;
d = Math.Sqrt(aar + aai + aaj + aak);
// d = Math.Sqrt(d);
// d = Math.Sqrt(d);
for (n = 1; n < zkl; n++)
{
ak = 2.0 * ak * ar * aj + bk;
ai = 2.0 * ai * ar * aj + bi;
// ai = 2.0 * ar * ai + d * bi;
aj = aaj - (aai + aak + aar) / 2.0 + bj;
ar = aar - (aai + aak + aaj) / 2.0 + br;
aar = ar * ar; aai = ai * ai; aaj = aj * aj; aak = ak * ak;
d = Math.Sqrt(aar + aai + aaj + aak);
// d = Math.Sqrt(d);
// d = Math.Sqrt(d);
if ((d) > gr) { tw = n; break; }
}
return (tw);
}