in src/elm_src/Algorithm/benesi.c [38:53]
void BenesiPineTreeIteration(CVector3 &z, CVector3 c, const cFractal *fractal, sExtendedAux &aux)
{
CVector3 temp = z;
aux.r = z.Length();
z *= z;
double t = 2.0 * temp.x;
if (z.y + z.z > 0.0)
t = t / sqrt(z.y + z.z);
else
t = 1.0;
z.x = (z.x - z.y - z.z) + c.x * fractal->transformCommon.constantMultiplier100.x;
z.z = (t * (z.y - z.z)) + c.y * fractal->transformCommon.constantMultiplier100.y;
z.y = (2.0 * t * temp.y * temp.z) + c.z * fractal->transformCommon.constantMultiplier100.z;
aux.r_dz = aux.r * aux.r_dz * 2.0 + 1.0;
}