protected function phi4z($eccent, $e0, $e1, $e2, $e3, $a, $b, &$c, $phi)
    {
        /*
        $sinphi;
        $sin2ph;
        $tanph;
        $ml;
        $mlp;
        $con1;
        $con2;
        $con3;
        $dphi;
        $i;
        */

        $phi = $a;
        for ($i = 1; $i <= 15; $i++) {
            $sinphi = sin( $phi );
            $tanphi = tan( $phi );
            $c = $tanphi * sqrt( 1.0 - $eccent * $sinphi * $sinphi );
            $sin2ph = sin( 2.0 * $phi );
            /*
              ml = e0 * *phi - e1 * sin2ph + e2 * sin (4.0 *  *phi);
              mlp = e0 - 2.0 * e1 * cos (2.0 *  *phi) + 4.0 * e2 *  cos (4.0 *  *phi);
             */
            $ml = $e0 * $phi - $e1 * $sin2ph + $e2 * sin( 4.0 * $phi ) - $e3 * sin( 6.0 * $phi );
            $mlp = $e0 - 2.0 * $e1 * cos( 2.0 * $phi ) + 4.0 * $e2 * cos( 4.0 * $phi ) - 6.0 * $e3 * cos( 6.0 * $phi );
            $con1 = 2.0 * $ml + $c * ($ml * $ml + $b) - 2.0 * $a * ($c * $ml + 1.0);
            $con2 = $eccent * $sin2ph * ($ml * $ml + $b - 2.0 * $a * $ml) / (2.0 * $c);
            $con3 = 2.0 * ($a - $ml) * ($c * $mlp - 2.0 / $sin2ph) - 2.0 * $mlp;
            $dphi = $con1 / ($con2 + $con3);
            $phi += $dphi;

            if ( abs( $dphi ) <= .0000000001 ) {
                return($phi);
            }
        }

        Proj4php::reportError('phi4z: No convergence');

        return null;
    }